↳ ITRS
↳ ITRStoIDPProof
z
filter(x, cons(y, zs)) → if_2(isdiv(x, y), x, y, zs)
Cond_mem(TRUE, x, y, zs) → TRUE
nats(x, y) → Cond_nats1(=@z(x, y), x, y)
isdiv(x, 0@z) → Cond_isdiv4(>@z(x, 0@z), x)
mem(x, cons(y, zs)) → Cond_mem1(>@z(y, x), x, y, zs)
if_2(FALSE, x, y, zs) → cons(x, filter(x, zs))
if_1(TRUE, x, y, zs) → filter(x, zs)
isdiv(x, y) → Cond_isdiv2(>@z(0@z, y), x, y)
Cond_nats2(TRUE, x, y) → nil
Cond_isdiv1(TRUE, x, y) → FALSE
Cond_nats1(TRUE, x, y) → cons(x, nil)
nats(x, y) → Cond_nats2(>@z(x, y), x, y)
mem(x, cons(y, zs)) → Cond_mem(=@z(x, y), x, y, zs)
mem(x, nil) → FALSE
isdiv(x, y) → Cond_isdiv3(>@z(0@z, x), x, y)
filter(x, nil) → nil
sieve(cons(x, ys)) → cons(x, sieve(filter(x, ys)))
Cond_isdiv4(TRUE, x) → TRUE
sieve(nil) → nil
isprime(x) → mem(x, primes(x))
Cond_isdiv2(TRUE, x, y) → isdiv(x, -@z(y))
filter(x, cons(y, zs)) → if_1(isdiv(x, y), x, y, zs)
Cond_mem1(TRUE, x, y, zs) → mem(x, zs)
nats(x, y) → Cond_nats(>@z(y, x), x, y)
mem(x, cons(y, zs)) → Cond_mem2(>@z(x, y), x, y, zs)
Cond_isdiv(TRUE, x, y) → isdiv(x, +@z(-@z(x), y))
isdiv(x, y) → Cond_isdiv1(&&(>@z(x, y), >@z(y, 0@z)), x, y)
Cond_mem2(TRUE, x, y, zs) → mem(x, zs)
Cond_nats(TRUE, x, y) → cons(x, nats(+@z(x, 1@z), y))
isdiv(x, y) → Cond_isdiv(&&(>=@z(y, x), >@z(x, 0@z)), x, y)
primes(x) → sieve(nats(2@z, x))
Cond_isdiv3(TRUE, x, y) → isdiv(-@z(x), y)
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
z
filter(x, cons(y, zs)) → if_2(isdiv(x, y), x, y, zs)
Cond_mem(TRUE, x, y, zs) → TRUE
nats(x, y) → Cond_nats1(=@z(x, y), x, y)
isdiv(x, 0@z) → Cond_isdiv4(>@z(x, 0@z), x)
mem(x, cons(y, zs)) → Cond_mem1(>@z(y, x), x, y, zs)
if_2(FALSE, x, y, zs) → cons(x, filter(x, zs))
if_1(TRUE, x, y, zs) → filter(x, zs)
isdiv(x, y) → Cond_isdiv2(>@z(0@z, y), x, y)
Cond_nats2(TRUE, x, y) → nil
Cond_isdiv1(TRUE, x, y) → FALSE
Cond_nats1(TRUE, x, y) → cons(x, nil)
nats(x, y) → Cond_nats2(>@z(x, y), x, y)
mem(x, cons(y, zs)) → Cond_mem(=@z(x, y), x, y, zs)
mem(x, nil) → FALSE
isdiv(x, y) → Cond_isdiv3(>@z(0@z, x), x, y)
filter(x, nil) → nil
sieve(cons(x, ys)) → cons(x, sieve(filter(x, ys)))
Cond_isdiv4(TRUE, x) → TRUE
sieve(nil) → nil
isprime(x) → mem(x, primes(x))
Cond_isdiv2(TRUE, x, y) → isdiv(x, -@z(y))
filter(x, cons(y, zs)) → if_1(isdiv(x, y), x, y, zs)
Cond_mem1(TRUE, x, y, zs) → mem(x, zs)
nats(x, y) → Cond_nats(>@z(y, x), x, y)
mem(x, cons(y, zs)) → Cond_mem2(>@z(x, y), x, y, zs)
Cond_isdiv(TRUE, x, y) → isdiv(x, +@z(-@z(x), y))
isdiv(x, y) → Cond_isdiv1(&&(>@z(x, y), >@z(y, 0@z)), x, y)
Cond_mem2(TRUE, x, y, zs) → mem(x, zs)
Cond_nats(TRUE, x, y) → cons(x, nats(+@z(x, 1@z), y))
isdiv(x, y) → Cond_isdiv(&&(>=@z(y, x), >@z(x, 0@z)), x, y)
primes(x) → sieve(nats(2@z, x))
Cond_isdiv3(TRUE, x, y) → isdiv(-@z(x), y)
(0) -> (4), if ((zs[0] →* cons(y[4], zs[4]))∧(x[0] →* x[4]))
(0) -> (8), if ((zs[0] →* cons(y[8], zs[8]))∧(x[0] →* x[8]))
(0) -> (13), if ((zs[0] →* cons(y[13], zs[13]))∧(x[0] →* x[13]))
(1) -> (14), if ((y[1] →* y[14])∧(+@z(x[1], 1@z) →* x[14]))
(1) -> (22), if ((y[1] →* y[22])∧(+@z(x[1], 1@z) →* x[22]))
(1) -> (26), if ((y[1] →* y[26])∧(+@z(x[1], 1@z) →* x[26]))
(2) -> (11), if ((x[2] →* x[11])∧(y[2] →* y[11])∧(>@z(0@z, y[2]) →* TRUE))
(3) -> (2), if ((+@z(-@z(x[3]), y[3]) →* y[2])∧(x[3] →* x[2]))
(3) -> (5), if ((+@z(-@z(x[3]), y[3]) →* y[5])∧(x[3] →* x[5]))
(3) -> (20), if ((+@z(-@z(x[3]), y[3]) →* y[20])∧(x[3] →* x[20]))
(3) -> (23), if ((+@z(-@z(x[3]), y[3]) →* 0@z)∧(x[3] →* x[23]))
(3) -> (27), if ((+@z(-@z(x[3]), y[3]) →* y[27])∧(x[3] →* x[27]))
(4) -> (15), if ((zs[4] →* zs[15])∧(x[4] →* x[15])∧(y[4] →* y[15])∧(isdiv(x[4], y[4]) →* TRUE))
(6) -> (9), if ((primes(x[6]) →* cons(y[9], zs[9]))∧(x[6] →* x[9]))
(6) -> (10), if ((primes(x[6]) →* cons(y[10], zs[10]))∧(x[6] →* x[10]))
(6) -> (12), if ((primes(x[6]) →* cons(y[12], zs[12]))∧(x[6] →* x[12]))
(7) -> (9), if ((zs[7] →* cons(y[9], zs[9]))∧(x[7] →* x[9]))
(7) -> (10), if ((zs[7] →* cons(y[10], zs[10]))∧(x[7] →* x[10]))
(7) -> (12), if ((zs[7] →* cons(y[12], zs[12]))∧(x[7] →* x[12]))
(8) -> (2), if ((y[8] →* y[2])∧(x[8] →* x[2]))
(8) -> (5), if ((y[8] →* y[5])∧(x[8] →* x[5]))
(8) -> (20), if ((y[8] →* y[20])∧(x[8] →* x[20]))
(8) -> (23), if ((y[8] →* 0@z)∧(x[8] →* x[23]))
(8) -> (27), if ((y[8] →* y[27])∧(x[8] →* x[27]))
(10) -> (21), if ((zs[10] →* zs[21])∧(x[10] →* x[21])∧(y[10] →* y[21])∧(>@z(y[10], x[10]) →* TRUE))
(11) -> (2), if ((-@z(y[11]) →* y[2])∧(x[11] →* x[2]))
(11) -> (5), if ((-@z(y[11]) →* y[5])∧(x[11] →* x[5]))
(11) -> (20), if ((-@z(y[11]) →* y[20])∧(x[11] →* x[20]))
(11) -> (23), if ((-@z(y[11]) →* 0@z)∧(x[11] →* x[23]))
(11) -> (27), if ((-@z(y[11]) →* y[27])∧(x[11] →* x[27]))
(12) -> (7), if ((zs[12] →* zs[7])∧(x[12] →* x[7])∧(y[12] →* y[7])∧(>@z(x[12], y[12]) →* TRUE))
(13) -> (0), if ((zs[13] →* zs[0])∧(x[13] →* x[0])∧(y[13] →* y[0])∧(isdiv(x[13], y[13]) →* FALSE))
(15) -> (4), if ((zs[15] →* cons(y[4], zs[4]))∧(x[15] →* x[4]))
(15) -> (8), if ((zs[15] →* cons(y[8], zs[8]))∧(x[15] →* x[8]))
(15) -> (13), if ((zs[15] →* cons(y[13], zs[13]))∧(x[15] →* x[13]))
(16) -> (19), if ((x[16] →* x[19]))
(16) -> (24), if ((x[16] →* x[24]))
(17) -> (4), if ((ys[17] →* cons(y[4], zs[4]))∧(x[17] →* x[4]))
(17) -> (8), if ((ys[17] →* cons(y[8], zs[8]))∧(x[17] →* x[8]))
(17) -> (13), if ((ys[17] →* cons(y[13], zs[13]))∧(x[17] →* x[13]))
(18) -> (2), if ((y[18] →* y[2])∧(-@z(x[18]) →* x[2]))
(18) -> (5), if ((y[18] →* y[5])∧(-@z(x[18]) →* x[5]))
(18) -> (20), if ((y[18] →* y[20])∧(-@z(x[18]) →* x[20]))
(18) -> (23), if ((y[18] →* 0@z)∧(-@z(x[18]) →* x[23]))
(18) -> (27), if ((y[18] →* y[27])∧(-@z(x[18]) →* x[27]))
(19) -> (14), if ((x[19] →* y[14]))
(19) -> (22), if ((x[19] →* y[22]))
(19) -> (26), if ((x[19] →* y[26]))
(20) -> (3), if ((x[20] →* x[3])∧(y[20] →* y[3])∧(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)) →* TRUE))
(21) -> (9), if ((zs[21] →* cons(y[9], zs[9]))∧(x[21] →* x[9]))
(21) -> (10), if ((zs[21] →* cons(y[10], zs[10]))∧(x[21] →* x[10]))
(21) -> (12), if ((zs[21] →* cons(y[12], zs[12]))∧(x[21] →* x[12]))
(24) -> (17), if ((nats(2@z, x[24]) →* cons(x[17], ys[17])))
(24) -> (25), if ((nats(2@z, x[24]) →* cons(x[25], ys[25])))
(25) -> (17), if ((filter(x[25], ys[25]) →* cons(x[17], ys[17])))
(25) -> (25), if ((filter(x[25], ys[25]) →* cons(x[25]a, ys[25]a)))
(26) -> (1), if ((x[26] →* x[1])∧(y[26] →* y[1])∧(>@z(y[26], x[26]) →* TRUE))
(27) -> (18), if ((x[27] →* x[18])∧(y[27] →* y[18])∧(>@z(0@z, x[27]) →* TRUE))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
z
filter(x, cons(y, zs)) → if_2(isdiv(x, y), x, y, zs)
nats(x, y) → Cond_nats1(=@z(x, y), x, y)
isdiv(x, 0@z) → Cond_isdiv4(>@z(x, 0@z), x)
if_2(FALSE, x, y, zs) → cons(x, filter(x, zs))
Cond_nats2(TRUE, x, y) → nil
Cond_isdiv1(TRUE, x, y) → FALSE
Cond_nats1(TRUE, x, y) → cons(x, nil)
nats(x, y) → Cond_nats2(>@z(x, y), x, y)
sieve(cons(x, ys)) → cons(x, sieve(filter(x, ys)))
filter(x, nil) → nil
sieve(nil) → nil
Cond_isdiv4(TRUE, x) → TRUE
filter(x, cons(y, zs)) → if_1(isdiv(x, y), x, y, zs)
if_1(TRUE, x, y, zs) → filter(x, zs)
nats(x, y) → Cond_nats(>@z(y, x), x, y)
isdiv(x, y) → Cond_isdiv1(&&(>@z(x, y), >@z(y, 0@z)), x, y)
Cond_nats(TRUE, x, y) → cons(x, nats(+@z(x, 1@z), y))
primes(x) → sieve(nats(2@z, x))
Cond_isdiv(TRUE, x, y) → isdiv(x, +@z(-@z(x), y))
isdiv(x, y) → Cond_isdiv2(>@z(0@z, y), x, y)
Cond_isdiv3(TRUE, x, y) → isdiv(-@z(x), y)
isdiv(x, y) → Cond_isdiv(&&(>=@z(y, x), >@z(x, 0@z)), x, y)
Cond_isdiv2(TRUE, x, y) → isdiv(x, -@z(y))
isdiv(x, y) → Cond_isdiv3(>@z(0@z, x), x, y)
(0) -> (4), if ((zs[0] →* cons(y[4], zs[4]))∧(x[0] →* x[4]))
(0) -> (8), if ((zs[0] →* cons(y[8], zs[8]))∧(x[0] →* x[8]))
(0) -> (13), if ((zs[0] →* cons(y[13], zs[13]))∧(x[0] →* x[13]))
(1) -> (14), if ((y[1] →* y[14])∧(+@z(x[1], 1@z) →* x[14]))
(1) -> (22), if ((y[1] →* y[22])∧(+@z(x[1], 1@z) →* x[22]))
(1) -> (26), if ((y[1] →* y[26])∧(+@z(x[1], 1@z) →* x[26]))
(2) -> (11), if ((x[2] →* x[11])∧(y[2] →* y[11])∧(>@z(0@z, y[2]) →* TRUE))
(3) -> (2), if ((+@z(-@z(x[3]), y[3]) →* y[2])∧(x[3] →* x[2]))
(3) -> (5), if ((+@z(-@z(x[3]), y[3]) →* y[5])∧(x[3] →* x[5]))
(3) -> (20), if ((+@z(-@z(x[3]), y[3]) →* y[20])∧(x[3] →* x[20]))
(3) -> (23), if ((+@z(-@z(x[3]), y[3]) →* 0@z)∧(x[3] →* x[23]))
(3) -> (27), if ((+@z(-@z(x[3]), y[3]) →* y[27])∧(x[3] →* x[27]))
(4) -> (15), if ((zs[4] →* zs[15])∧(x[4] →* x[15])∧(y[4] →* y[15])∧(isdiv(x[4], y[4]) →* TRUE))
(6) -> (9), if ((primes(x[6]) →* cons(y[9], zs[9]))∧(x[6] →* x[9]))
(6) -> (10), if ((primes(x[6]) →* cons(y[10], zs[10]))∧(x[6] →* x[10]))
(6) -> (12), if ((primes(x[6]) →* cons(y[12], zs[12]))∧(x[6] →* x[12]))
(7) -> (9), if ((zs[7] →* cons(y[9], zs[9]))∧(x[7] →* x[9]))
(7) -> (10), if ((zs[7] →* cons(y[10], zs[10]))∧(x[7] →* x[10]))
(7) -> (12), if ((zs[7] →* cons(y[12], zs[12]))∧(x[7] →* x[12]))
(8) -> (2), if ((y[8] →* y[2])∧(x[8] →* x[2]))
(8) -> (5), if ((y[8] →* y[5])∧(x[8] →* x[5]))
(8) -> (20), if ((y[8] →* y[20])∧(x[8] →* x[20]))
(8) -> (23), if ((y[8] →* 0@z)∧(x[8] →* x[23]))
(8) -> (27), if ((y[8] →* y[27])∧(x[8] →* x[27]))
(10) -> (21), if ((zs[10] →* zs[21])∧(x[10] →* x[21])∧(y[10] →* y[21])∧(>@z(y[10], x[10]) →* TRUE))
(11) -> (2), if ((-@z(y[11]) →* y[2])∧(x[11] →* x[2]))
(11) -> (5), if ((-@z(y[11]) →* y[5])∧(x[11] →* x[5]))
(11) -> (20), if ((-@z(y[11]) →* y[20])∧(x[11] →* x[20]))
(11) -> (23), if ((-@z(y[11]) →* 0@z)∧(x[11] →* x[23]))
(11) -> (27), if ((-@z(y[11]) →* y[27])∧(x[11] →* x[27]))
(12) -> (7), if ((zs[12] →* zs[7])∧(x[12] →* x[7])∧(y[12] →* y[7])∧(>@z(x[12], y[12]) →* TRUE))
(13) -> (0), if ((zs[13] →* zs[0])∧(x[13] →* x[0])∧(y[13] →* y[0])∧(isdiv(x[13], y[13]) →* FALSE))
(15) -> (4), if ((zs[15] →* cons(y[4], zs[4]))∧(x[15] →* x[4]))
(15) -> (8), if ((zs[15] →* cons(y[8], zs[8]))∧(x[15] →* x[8]))
(15) -> (13), if ((zs[15] →* cons(y[13], zs[13]))∧(x[15] →* x[13]))
(16) -> (19), if ((x[16] →* x[19]))
(16) -> (24), if ((x[16] →* x[24]))
(17) -> (4), if ((ys[17] →* cons(y[4], zs[4]))∧(x[17] →* x[4]))
(17) -> (8), if ((ys[17] →* cons(y[8], zs[8]))∧(x[17] →* x[8]))
(17) -> (13), if ((ys[17] →* cons(y[13], zs[13]))∧(x[17] →* x[13]))
(18) -> (2), if ((y[18] →* y[2])∧(-@z(x[18]) →* x[2]))
(18) -> (5), if ((y[18] →* y[5])∧(-@z(x[18]) →* x[5]))
(18) -> (20), if ((y[18] →* y[20])∧(-@z(x[18]) →* x[20]))
(18) -> (23), if ((y[18] →* 0@z)∧(-@z(x[18]) →* x[23]))
(18) -> (27), if ((y[18] →* y[27])∧(-@z(x[18]) →* x[27]))
(19) -> (14), if ((x[19] →* y[14]))
(19) -> (22), if ((x[19] →* y[22]))
(19) -> (26), if ((x[19] →* y[26]))
(20) -> (3), if ((x[20] →* x[3])∧(y[20] →* y[3])∧(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)) →* TRUE))
(21) -> (9), if ((zs[21] →* cons(y[9], zs[9]))∧(x[21] →* x[9]))
(21) -> (10), if ((zs[21] →* cons(y[10], zs[10]))∧(x[21] →* x[10]))
(21) -> (12), if ((zs[21] →* cons(y[12], zs[12]))∧(x[21] →* x[12]))
(24) -> (17), if ((nats(2@z, x[24]) →* cons(x[17], ys[17])))
(24) -> (25), if ((nats(2@z, x[24]) →* cons(x[25], ys[25])))
(25) -> (17), if ((filter(x[25], ys[25]) →* cons(x[17], ys[17])))
(25) -> (25), if ((filter(x[25], ys[25]) →* cons(x[25]a, ys[25]a)))
(26) -> (1), if ((x[26] →* x[1])∧(y[26] →* y[1])∧(>@z(y[26], x[26]) →* TRUE))
(27) -> (18), if ((x[27] →* x[18])∧(y[27] →* y[18])∧(>@z(0@z, x[27]) →* TRUE))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDP
↳ IDP
↳ IDP
z
filter(x, cons(y, zs)) → if_2(isdiv(x, y), x, y, zs)
nats(x, y) → Cond_nats1(=@z(x, y), x, y)
isdiv(x, 0@z) → Cond_isdiv4(>@z(x, 0@z), x)
if_2(FALSE, x, y, zs) → cons(x, filter(x, zs))
Cond_nats2(TRUE, x, y) → nil
Cond_isdiv1(TRUE, x, y) → FALSE
Cond_nats1(TRUE, x, y) → cons(x, nil)
nats(x, y) → Cond_nats2(>@z(x, y), x, y)
sieve(cons(x, ys)) → cons(x, sieve(filter(x, ys)))
filter(x, nil) → nil
sieve(nil) → nil
Cond_isdiv4(TRUE, x) → TRUE
filter(x, cons(y, zs)) → if_1(isdiv(x, y), x, y, zs)
if_1(TRUE, x, y, zs) → filter(x, zs)
nats(x, y) → Cond_nats(>@z(y, x), x, y)
isdiv(x, y) → Cond_isdiv1(&&(>@z(x, y), >@z(y, 0@z)), x, y)
Cond_nats(TRUE, x, y) → cons(x, nats(+@z(x, 1@z), y))
primes(x) → sieve(nats(2@z, x))
Cond_isdiv(TRUE, x, y) → isdiv(x, +@z(-@z(x), y))
isdiv(x, y) → Cond_isdiv2(>@z(0@z, y), x, y)
Cond_isdiv3(TRUE, x, y) → isdiv(-@z(x), y)
isdiv(x, y) → Cond_isdiv(&&(>=@z(y, x), >@z(x, 0@z)), x, y)
Cond_isdiv2(TRUE, x, y) → isdiv(x, -@z(y))
isdiv(x, y) → Cond_isdiv3(>@z(0@z, x), x, y)
(11) -> (2), if ((-@z(y[11]) →* y[2])∧(x[11] →* x[2]))
(27) -> (18), if ((x[27] →* x[18])∧(y[27] →* y[18])∧(>@z(0@z, x[27]) →* TRUE))
(18) -> (20), if ((y[18] →* y[20])∧(-@z(x[18]) →* x[20]))
(3) -> (2), if ((+@z(-@z(x[3]), y[3]) →* y[2])∧(x[3] →* x[2]))
(2) -> (11), if ((x[2] →* x[11])∧(y[2] →* y[11])∧(>@z(0@z, y[2]) →* TRUE))
(20) -> (3), if ((x[20] →* x[3])∧(y[20] →* y[3])∧(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)) →* TRUE))
(18) -> (2), if ((y[18] →* y[2])∧(-@z(x[18]) →* x[2]))
(11) -> (20), if ((-@z(y[11]) →* y[20])∧(x[11] →* x[20]))
(3) -> (27), if ((+@z(-@z(x[3]), y[3]) →* y[27])∧(x[3] →* x[27]))
(18) -> (27), if ((y[18] →* y[27])∧(-@z(x[18]) →* x[27]))
(11) -> (27), if ((-@z(y[11]) →* y[27])∧(x[11] →* x[27]))
(3) -> (20), if ((+@z(-@z(x[3]), y[3]) →* y[20])∧(x[3] →* x[20]))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDP
↳ IDP
↳ IDP
z
(11) -> (2), if ((-@z(y[11]) →* y[2])∧(x[11] →* x[2]))
(27) -> (18), if ((x[27] →* x[18])∧(y[27] →* y[18])∧(>@z(0@z, x[27]) →* TRUE))
(18) -> (20), if ((y[18] →* y[20])∧(-@z(x[18]) →* x[20]))
(3) -> (2), if ((+@z(-@z(x[3]), y[3]) →* y[2])∧(x[3] →* x[2]))
(2) -> (11), if ((x[2] →* x[11])∧(y[2] →* y[11])∧(>@z(0@z, y[2]) →* TRUE))
(20) -> (3), if ((x[20] →* x[3])∧(y[20] →* y[3])∧(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)) →* TRUE))
(18) -> (2), if ((y[18] →* y[2])∧(-@z(x[18]) →* x[2]))
(11) -> (20), if ((-@z(y[11]) →* y[20])∧(x[11] →* x[20]))
(3) -> (27), if ((+@z(-@z(x[3]), y[3]) →* y[27])∧(x[3] →* x[27]))
(18) -> (27), if ((y[18] →* y[27])∧(-@z(x[18]) →* x[27]))
(11) -> (27), if ((-@z(y[11]) →* y[27])∧(x[11] →* x[27]))
(3) -> (20), if ((+@z(-@z(x[3]), y[3]) →* y[20])∧(x[3] →* x[20]))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
(1) (&&(>=@z(y[20], x[20]), >@z(x[20], 0@z))=TRUE∧+@z(-@z(x[3]), y[3])=y[2]∧x[20]=x[3]∧y[20]=y[3]∧x[3]=x[2] ⇒ COND_ISDIV(TRUE, x[3], y[3])≥NonInfC∧COND_ISDIV(TRUE, x[3], y[3])≥ISDIV(x[3], +@z(-@z(x[3]), y[3]))∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(2) (>=@z(y[20], x[20])=TRUE∧>@z(x[20], 0@z)=TRUE ⇒ COND_ISDIV(TRUE, x[20], y[20])≥NonInfC∧COND_ISDIV(TRUE, x[20], y[20])≥ISDIV(x[20], +@z(-@z(x[20]), y[20]))∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(3) (y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(4) (y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(5) (y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(6) (y[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(7) (y[20] ≥ 0∧x[20] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(8) (x[3]=x[20]1∧&&(>=@z(y[20], x[20]), >@z(x[20], 0@z))=TRUE∧x[20]=x[3]∧+@z(-@z(x[3]), y[3])=y[20]1∧y[20]=y[3] ⇒ COND_ISDIV(TRUE, x[3], y[3])≥NonInfC∧COND_ISDIV(TRUE, x[3], y[3])≥ISDIV(x[3], +@z(-@z(x[3]), y[3]))∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(9) (>=@z(y[20], x[20])=TRUE∧>@z(x[20], 0@z)=TRUE ⇒ COND_ISDIV(TRUE, x[20], y[20])≥NonInfC∧COND_ISDIV(TRUE, x[20], y[20])≥ISDIV(x[20], +@z(-@z(x[20]), y[20]))∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(10) (y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(11) (y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(12) (y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(13) (y[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(14) (y[20] ≥ 0∧x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(15) (x[3]=x[27]∧&&(>=@z(y[20], x[20]), >@z(x[20], 0@z))=TRUE∧+@z(-@z(x[3]), y[3])=y[27]∧x[20]=x[3]∧y[20]=y[3] ⇒ COND_ISDIV(TRUE, x[3], y[3])≥NonInfC∧COND_ISDIV(TRUE, x[3], y[3])≥ISDIV(x[3], +@z(-@z(x[3]), y[3]))∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(16) (>=@z(y[20], x[20])=TRUE∧>@z(x[20], 0@z)=TRUE ⇒ COND_ISDIV(TRUE, x[20], y[20])≥NonInfC∧COND_ISDIV(TRUE, x[20], y[20])≥ISDIV(x[20], +@z(-@z(x[20]), y[20]))∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(17) (y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(18) (y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(19) (y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(20) (y[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(21) (y[20] ≥ 0∧x[20] ≥ 0 ⇒ 0 ≥ 0∧0 ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(22) (ISDIV(x[20], y[20])≥NonInfC∧ISDIV(x[20], y[20])≥COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])∧(UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥))
(23) ((UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥)∧0 ≥ 0∧0 ≥ 0)
(24) ((UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥)∧0 ≥ 0∧0 ≥ 0)
(25) ((UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥)∧0 ≥ 0∧0 ≥ 0)
(26) ((UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 ≥ 0∧0 ≥ 0∧0 = 0)
(27) (x[2]=x[11]∧-@z(y[11])=y[2]1∧>@z(0@z, y[2])=TRUE∧y[2]=y[11]∧x[11]=x[2]1 ⇒ COND_ISDIV2(TRUE, x[11], y[11])≥NonInfC∧COND_ISDIV2(TRUE, x[11], y[11])≥ISDIV(x[11], -@z(y[11]))∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥))
(28) (>@z(0@z, y[2])=TRUE ⇒ COND_ISDIV2(TRUE, x[2], y[2])≥NonInfC∧COND_ISDIV2(TRUE, x[2], y[2])≥ISDIV(x[2], -@z(y[2]))∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥))
(29) (-1 + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(30) (-1 + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(31) (-1 + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(32) (-1 + (-1)y[2] ≥ 0 ⇒ 0 = 0∧0 ≥ 0∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 ≥ 0∧0 = 0)
(33) (y[2] ≥ 0 ⇒ 0 = 0∧0 ≥ 0∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 ≥ 0∧0 = 0)
(34) (x[2]=x[11]∧-@z(y[11])=y[27]∧>@z(0@z, y[2])=TRUE∧y[2]=y[11]∧x[11]=x[27] ⇒ COND_ISDIV2(TRUE, x[11], y[11])≥NonInfC∧COND_ISDIV2(TRUE, x[11], y[11])≥ISDIV(x[11], -@z(y[11]))∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥))
(35) (>@z(0@z, y[2])=TRUE ⇒ COND_ISDIV2(TRUE, x[2], y[2])≥NonInfC∧COND_ISDIV2(TRUE, x[2], y[2])≥ISDIV(x[2], -@z(y[2]))∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥))
(36) (-1 + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(37) (-1 + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(38) (-1 + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(39) (-1 + (-1)y[2] ≥ 0 ⇒ 0 = 0∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 = 0)
(40) (y[2] ≥ 0 ⇒ 0 = 0∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 = 0)
(41) (x[2]=x[11]∧x[11]=x[20]∧>@z(0@z, y[2])=TRUE∧y[2]=y[11]∧-@z(y[11])=y[20] ⇒ COND_ISDIV2(TRUE, x[11], y[11])≥NonInfC∧COND_ISDIV2(TRUE, x[11], y[11])≥ISDIV(x[11], -@z(y[11]))∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥))
(42) (>@z(0@z, y[2])=TRUE ⇒ COND_ISDIV2(TRUE, x[2], y[2])≥NonInfC∧COND_ISDIV2(TRUE, x[2], y[2])≥ISDIV(x[2], -@z(y[2]))∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥))
(43) (-1 + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(44) (-1 + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(45) (-1 + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 ≥ 0∧0 ≥ 0)
(46) (-1 + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 = 0∧0 ≥ 0∧0 = 0∧0 ≥ 0)
(47) (y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧0 = 0∧0 ≥ 0∧0 = 0∧0 ≥ 0)
(48) (ISDIV(x[2], y[2])≥NonInfC∧ISDIV(x[2], y[2])≥COND_ISDIV2(>@z(0@z, y[2]), x[2], y[2])∧(UIncreasing(COND_ISDIV2(>@z(0@z, y[2]), x[2], y[2])), ≥))
(49) ((UIncreasing(COND_ISDIV2(>@z(0@z, y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(50) ((UIncreasing(COND_ISDIV2(>@z(0@z, y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(51) (0 ≥ 0∧0 ≥ 0∧(UIncreasing(COND_ISDIV2(>@z(0@z, y[2]), x[2], y[2])), ≥))
(52) (0 ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 ≥ 0∧0 = 0∧(UIncreasing(COND_ISDIV2(>@z(0@z, y[2]), x[2], y[2])), ≥))
(53) (>@z(0@z, x[27])=TRUE∧x[27]=x[18]∧y[18]=y[20]∧y[27]=y[18]∧-@z(x[18])=x[20] ⇒ COND_ISDIV3(TRUE, x[18], y[18])≥NonInfC∧COND_ISDIV3(TRUE, x[18], y[18])≥ISDIV(-@z(x[18]), y[18])∧(UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥))
(54) (>@z(0@z, x[27])=TRUE ⇒ COND_ISDIV3(TRUE, x[27], y[27])≥NonInfC∧COND_ISDIV3(TRUE, x[27], y[27])≥ISDIV(-@z(x[27]), y[27])∧(UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥))
(55) (-1 + (-1)x[27] ≥ 0 ⇒ (UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧-1 + (-1)Bound + (-1)x[27] ≥ 0∧-1 + (-2)x[27] ≥ 0)
(56) (-1 + (-1)x[27] ≥ 0 ⇒ (UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧-1 + (-1)Bound + (-1)x[27] ≥ 0∧-1 + (-2)x[27] ≥ 0)
(57) (-1 + (-1)x[27] ≥ 0 ⇒ (UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧-1 + (-2)x[27] ≥ 0∧-1 + (-1)Bound + (-1)x[27] ≥ 0)
(58) (-1 + (-1)x[27] ≥ 0 ⇒ (UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧0 = 0∧-1 + (-2)x[27] ≥ 0∧0 = 0∧-1 + (-1)Bound + (-1)x[27] ≥ 0)
(59) (x[27] ≥ 0 ⇒ (UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧0 = 0∧1 + (2)x[27] ≥ 0∧0 = 0∧(-1)Bound + x[27] ≥ 0)
(60) (>@z(0@z, x[27])=TRUE∧x[27]=x[18]∧y[27]=y[18]∧-@z(x[18])=x[2]∧y[18]=y[2] ⇒ COND_ISDIV3(TRUE, x[18], y[18])≥NonInfC∧COND_ISDIV3(TRUE, x[18], y[18])≥ISDIV(-@z(x[18]), y[18])∧(UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥))
(61) (>@z(0@z, x[27])=TRUE ⇒ COND_ISDIV3(TRUE, x[27], y[27])≥NonInfC∧COND_ISDIV3(TRUE, x[27], y[27])≥ISDIV(-@z(x[27]), y[27])∧(UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥))
(62) (-1 + (-1)x[27] ≥ 0 ⇒ (UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧-1 + (-1)Bound + (-1)x[27] ≥ 0∧-1 + (-2)x[27] ≥ 0)
(63) (-1 + (-1)x[27] ≥ 0 ⇒ (UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧-1 + (-1)Bound + (-1)x[27] ≥ 0∧-1 + (-2)x[27] ≥ 0)
(64) (-1 + (-1)x[27] ≥ 0 ⇒ -1 + (-2)x[27] ≥ 0∧(UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧-1 + (-1)Bound + (-1)x[27] ≥ 0)
(65) (-1 + (-1)x[27] ≥ 0 ⇒ (UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧-1 + (-1)Bound + (-1)x[27] ≥ 0∧-1 + (-2)x[27] ≥ 0∧0 = 0∧0 = 0)
(66) (x[27] ≥ 0 ⇒ (UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧(-1)Bound + x[27] ≥ 0∧1 + (2)x[27] ≥ 0∧0 = 0∧0 = 0)
(67) (-@z(x[18])=x[27]1∧>@z(0@z, x[27])=TRUE∧x[27]=x[18]∧y[18]=y[27]1∧y[27]=y[18] ⇒ COND_ISDIV3(TRUE, x[18], y[18])≥NonInfC∧COND_ISDIV3(TRUE, x[18], y[18])≥ISDIV(-@z(x[18]), y[18])∧(UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥))
(68) (>@z(0@z, x[27])=TRUE ⇒ COND_ISDIV3(TRUE, x[27], y[27])≥NonInfC∧COND_ISDIV3(TRUE, x[27], y[27])≥ISDIV(-@z(x[27]), y[27])∧(UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥))
(69) (-1 + (-1)x[27] ≥ 0 ⇒ (UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧-1 + (-1)Bound + (-1)x[27] ≥ 0∧-1 + (-2)x[27] ≥ 0)
(70) (-1 + (-1)x[27] ≥ 0 ⇒ (UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧-1 + (-1)Bound + (-1)x[27] ≥ 0∧-1 + (-2)x[27] ≥ 0)
(71) (-1 + (-1)x[27] ≥ 0 ⇒ (UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧-1 + (-1)Bound + (-1)x[27] ≥ 0∧-1 + (-2)x[27] ≥ 0)
(72) (-1 + (-1)x[27] ≥ 0 ⇒ -1 + (-1)Bound + (-1)x[27] ≥ 0∧(UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧0 = 0∧-1 + (-2)x[27] ≥ 0∧0 = 0)
(73) (x[27] ≥ 0 ⇒ (-1)Bound + x[27] ≥ 0∧(UIncreasing(ISDIV(-@z(x[18]), y[18])), ≥)∧0 = 0∧1 + (2)x[27] ≥ 0∧0 = 0)
(74) (ISDIV(x[27], y[27])≥NonInfC∧ISDIV(x[27], y[27])≥COND_ISDIV3(>@z(0@z, x[27]), x[27], y[27])∧(UIncreasing(COND_ISDIV3(>@z(0@z, x[27]), x[27], y[27])), ≥))
(75) ((UIncreasing(COND_ISDIV3(>@z(0@z, x[27]), x[27], y[27])), ≥)∧0 ≥ 0∧0 ≥ 0)
(76) ((UIncreasing(COND_ISDIV3(>@z(0@z, x[27]), x[27], y[27])), ≥)∧0 ≥ 0∧0 ≥ 0)
(77) (0 ≥ 0∧(UIncreasing(COND_ISDIV3(>@z(0@z, x[27]), x[27], y[27])), ≥)∧0 ≥ 0)
(78) ((UIncreasing(COND_ISDIV3(>@z(0@z, x[27]), x[27], y[27])), ≥)∧0 = 0∧0 ≥ 0∧0 = 0∧0 ≥ 0∧0 = 0∧0 = 0)
POL(0@z) = 0
POL(ISDIV(x1, x2)) = -1 + (-1)x1
POL(TRUE) = 0
POL(&&(x1, x2)) = 0
POL(COND_ISDIV2(x1, x2, x3)) = -1 + (-1)x2
POL(FALSE) = 0
POL(COND_ISDIV(x1, x2, x3)) = -1 + (-1)x2 + (-1)x1
POL(>@z(x1, x2)) = -1
POL(-@z(x1)) = (-1)x1
POL(>=@z(x1, x2)) = -1
POL(+@z(x1, x2)) = x1 + x2
POL(COND_ISDIV3(x1, x2, x3)) = -1 + (-1)x2
POL(undefined) = -1
COND_ISDIV3(TRUE, x[18], y[18]) → ISDIV(-@z(x[18]), y[18])
COND_ISDIV3(TRUE, x[18], y[18]) → ISDIV(-@z(x[18]), y[18])
COND_ISDIV(TRUE, x[3], y[3]) → ISDIV(x[3], +@z(-@z(x[3]), y[3]))
ISDIV(x[20], y[20]) → COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])
COND_ISDIV2(TRUE, x[11], y[11]) → ISDIV(x[11], -@z(y[11]))
ISDIV(x[2], y[2]) → COND_ISDIV2(>@z(0@z, y[2]), x[2], y[2])
ISDIV(x[27], y[27]) → COND_ISDIV3(>@z(0@z, x[27]), x[27], y[27])
&&(FALSE, FALSE)1 ↔ FALSE1
+@z1 ↔
&&(TRUE, TRUE)1 ↔ TRUE1
&&(FALSE, TRUE)1 ↔ FALSE1
FALSE1 → &&(TRUE, FALSE)1
-@z1 ↔
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDP
↳ IDP
↳ IDP
z
(11) -> (2), if ((-@z(y[11]) →* y[2])∧(x[11] →* x[2]))
(3) -> (2), if ((+@z(-@z(x[3]), y[3]) →* y[2])∧(x[3] →* x[2]))
(2) -> (11), if ((x[2] →* x[11])∧(y[2] →* y[11])∧(>@z(0@z, y[2]) →* TRUE))
(20) -> (3), if ((x[20] →* x[3])∧(y[20] →* y[3])∧(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)) →* TRUE))
(11) -> (20), if ((-@z(y[11]) →* y[20])∧(x[11] →* x[20]))
(3) -> (27), if ((+@z(-@z(x[3]), y[3]) →* y[27])∧(x[3] →* x[27]))
(11) -> (27), if ((-@z(y[11]) →* y[27])∧(x[11] →* x[27]))
(3) -> (20), if ((+@z(-@z(x[3]), y[3]) →* y[20])∧(x[3] →* x[20]))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDP
↳ IDP
↳ IDP
z
(11) -> (2), if ((-@z(y[11]) →* y[2])∧(x[11] →* x[2]))
(3) -> (2), if ((+@z(-@z(x[3]), y[3]) →* y[2])∧(x[3] →* x[2]))
(2) -> (11), if ((x[2] →* x[11])∧(y[2] →* y[11])∧(>@z(0@z, y[2]) →* TRUE))
(20) -> (3), if ((x[20] →* x[3])∧(y[20] →* y[3])∧(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)) →* TRUE))
(11) -> (20), if ((-@z(y[11]) →* y[20])∧(x[11] →* x[20]))
(3) -> (20), if ((+@z(-@z(x[3]), y[3]) →* y[20])∧(x[3] →* x[20]))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
(1) (x[20]1=x[3]1∧&&(>=@z(y[20], x[20]), >@z(x[20], 0@z))=TRUE∧>@z(0@z, y[2])=TRUE∧-@z(y[11])=y[20]∧+@z(-@z(x[3]), y[3])=y[20]1∧y[20]1=y[3]1∧y[20]=y[3]∧x[2]=x[11]∧x[3]=x[20]1∧x[11]=x[20]∧y[2]=y[11]∧x[20]=x[3]∧&&(>=@z(y[20]1, x[20]1), >@z(x[20]1, 0@z))=TRUE ⇒ COND_ISDIV(TRUE, x[3], y[3])≥NonInfC∧COND_ISDIV(TRUE, x[3], y[3])≥ISDIV(x[3], +@z(-@z(x[3]), y[3]))∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(2) (>@z(0@z, y[2])=TRUE∧>=@z(-@z(y[2]), x[20])=TRUE∧>@z(x[20], 0@z)=TRUE∧>=@z(+@z(-@z(x[20]), -@z(y[2])), x[20])=TRUE ⇒ COND_ISDIV(TRUE, x[20], -@z(y[2]))≥NonInfC∧COND_ISDIV(TRUE, x[20], -@z(y[2]))≥ISDIV(x[20], +@z(-@z(x[20]), -@z(y[2])))∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(3) (-1 + (-1)y[2] ≥ 0∧(-1)y[2] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0∧(-2)x[20] + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧0 ≥ 0∧x[20] ≥ 0)
(4) (-1 + (-1)y[2] ≥ 0∧(-1)y[2] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0∧(-2)x[20] + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧0 ≥ 0∧x[20] ≥ 0)
(5) ((-2)x[20] + (-1)y[2] ≥ 0∧-1 + x[20] ≥ 0∧(-1)y[2] + (-1)x[20] ≥ 0∧-1 + (-1)y[2] ≥ 0 ⇒ x[20] ≥ 0∧0 ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(6) (1 + (-2)x[20] + y[2] ≥ 0∧-1 + x[20] ≥ 0∧1 + y[2] + (-1)x[20] ≥ 0∧y[2] ≥ 0 ⇒ x[20] ≥ 0∧0 ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(7) (-1 + (-2)x[20] + y[2] ≥ 0∧x[20] ≥ 0∧y[2] + (-1)x[20] ≥ 0∧y[2] ≥ 0 ⇒ 1 + x[20] ≥ 0∧0 ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(8) (-1 + (-1)x[20] + y[2] ≥ 0∧x[20] ≥ 0∧y[2] ≥ 0∧x[20] + y[2] ≥ 0 ⇒ 1 + x[20] ≥ 0∧0 ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(9) (y[2] ≥ 0∧x[20] ≥ 0∧1 + x[20] + y[2] ≥ 0∧1 + (2)x[20] + y[2] ≥ 0 ⇒ 1 + x[20] ≥ 0∧0 ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(10) (+@z(-@z(x[3]1), y[3]1)=y[2]∧x[20]1=x[3]1∧&&(>=@z(y[20], x[20]), >@z(x[20], 0@z))=TRUE∧>@z(0@z, y[2])=TRUE∧+@z(-@z(x[3]), y[3])=y[20]1∧y[20]1=y[3]1∧y[20]=y[3]∧x[2]=x[11]∧x[3]=x[20]1∧x[3]1=x[2]∧y[2]=y[11]∧x[20]=x[3]∧&&(>=@z(y[20]1, x[20]1), >@z(x[20]1, 0@z))=TRUE ⇒ COND_ISDIV(TRUE, x[3]1, y[3]1)≥NonInfC∧COND_ISDIV(TRUE, x[3]1, y[3]1)≥ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))∧(UIncreasing(ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))), ≥))
(11) (>@z(0@z, +@z(-@z(x[20]), +@z(-@z(x[20]), y[20])))=TRUE∧>=@z(y[20], x[20])=TRUE∧>@z(x[20], 0@z)=TRUE∧>=@z(+@z(-@z(x[20]), y[20]), x[20])=TRUE ⇒ COND_ISDIV(TRUE, x[20], +@z(-@z(x[20]), y[20]))≥NonInfC∧COND_ISDIV(TRUE, x[20], +@z(-@z(x[20]), y[20]))≥ISDIV(x[20], +@z(-@z(x[20]), +@z(-@z(x[20]), y[20])))∧(UIncreasing(ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))), ≥))
(12) (-1 + (2)x[20] + (-1)y[20] ≥ 0∧y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0∧(-2)x[20] + y[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))), ≥)∧0 ≥ 0∧x[20] ≥ 0)
(13) (-1 + (2)x[20] + (-1)y[20] ≥ 0∧y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0∧(-2)x[20] + y[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))), ≥)∧0 ≥ 0∧x[20] ≥ 0)
(14) ((-2)x[20] + y[20] ≥ 0∧y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0∧-1 + (2)x[20] + (-1)y[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))), ≥)∧0 ≥ 0∧x[20] ≥ 0)
(15) (y[20]2=y[3]2∧x[20]2=x[3]2∧x[20]1=x[3]1∧&&(>=@z(y[20], x[20]), >@z(x[20], 0@z))=TRUE∧+@z(-@z(x[3]), y[3])=y[20]1∧x[3]1=x[20]2∧&&(>=@z(y[20]2, x[20]2), >@z(x[20]2, 0@z))=TRUE∧y[20]1=y[3]1∧y[20]=y[3]∧x[3]=x[20]1∧+@z(-@z(x[3]1), y[3]1)=y[20]2∧x[20]=x[3]∧&&(>=@z(y[20]1, x[20]1), >@z(x[20]1, 0@z))=TRUE ⇒ COND_ISDIV(TRUE, x[3]1, y[3]1)≥NonInfC∧COND_ISDIV(TRUE, x[3]1, y[3]1)≥ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))∧(UIncreasing(ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))), ≥))
(16) (>=@z(y[20], x[20])=TRUE∧>@z(x[20], 0@z)=TRUE∧>=@z(+@z(-@z(x[20]), +@z(-@z(x[20]), y[20])), x[20])=TRUE∧>=@z(+@z(-@z(x[20]), y[20]), x[20])=TRUE ⇒ COND_ISDIV(TRUE, x[20], +@z(-@z(x[20]), y[20]))≥NonInfC∧COND_ISDIV(TRUE, x[20], +@z(-@z(x[20]), y[20]))≥ISDIV(x[20], +@z(-@z(x[20]), +@z(-@z(x[20]), y[20])))∧(UIncreasing(ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))), ≥))
(17) (y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0∧(-3)x[20] + y[20] ≥ 0∧(-2)x[20] + y[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))), ≥)∧0 ≥ 0∧x[20] ≥ 0)
(18) (y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0∧(-3)x[20] + y[20] ≥ 0∧(-2)x[20] + y[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))), ≥)∧0 ≥ 0∧x[20] ≥ 0)
(19) ((-2)x[20] + y[20] ≥ 0∧-1 + x[20] ≥ 0∧y[20] + (-1)x[20] ≥ 0∧(-3)x[20] + y[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))), ≥)∧x[20] ≥ 0∧0 ≥ 0)
(20) (y[20] ≥ 0∧-1 + x[20] ≥ 0∧x[20] + y[20] ≥ 0∧(-1)x[20] + y[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))), ≥)∧x[20] ≥ 0∧0 ≥ 0)
(21) (x[20] + y[20] ≥ 0∧-1 + x[20] ≥ 0∧(2)x[20] + y[20] ≥ 0∧y[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))), ≥)∧x[20] ≥ 0∧0 ≥ 0)
(22) (1 + x[20] + y[20] ≥ 0∧x[20] ≥ 0∧2 + (2)x[20] + y[20] ≥ 0∧y[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3]1, +@z(-@z(x[3]1), y[3]1))), ≥)∧1 + x[20] ≥ 0∧0 ≥ 0)
(23) (y[2]1=y[11]1∧&&(>=@z(y[20], x[20]), >@z(x[20], 0@z))=TRUE∧>@z(0@z, y[2])=TRUE∧-@z(y[11])=y[20]∧y[20]=y[3]∧x[2]=x[11]∧+@z(-@z(x[3]), y[3])=y[2]1∧x[11]=x[20]∧>@z(0@z, y[2]1)=TRUE∧y[2]=y[11]∧x[20]=x[3]∧x[3]=x[2]1∧x[2]1=x[11]1 ⇒ COND_ISDIV(TRUE, x[3], y[3])≥NonInfC∧COND_ISDIV(TRUE, x[3], y[3])≥ISDIV(x[3], +@z(-@z(x[3]), y[3]))∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(24) (>@z(0@z, y[2])=TRUE∧>@z(0@z, +@z(-@z(x[20]), -@z(y[2])))=TRUE∧>=@z(-@z(y[2]), x[20])=TRUE∧>@z(x[20], 0@z)=TRUE ⇒ COND_ISDIV(TRUE, x[20], -@z(y[2]))≥NonInfC∧COND_ISDIV(TRUE, x[20], -@z(y[2]))≥ISDIV(x[20], +@z(-@z(x[20]), -@z(y[2])))∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(25) (-1 + (-1)y[2] ≥ 0∧-1 + x[20] + y[2] ≥ 0∧(-1)y[2] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧0 ≥ 0∧x[20] ≥ 0)
(26) (-1 + (-1)y[2] ≥ 0∧-1 + x[20] + y[2] ≥ 0∧(-1)y[2] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧0 ≥ 0∧x[20] ≥ 0)
(27) (-1 + x[20] ≥ 0∧(-1)y[2] + (-1)x[20] ≥ 0∧-1 + x[20] + y[2] ≥ 0∧-1 + (-1)y[2] ≥ 0 ⇒ 0 ≥ 0∧x[20] ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(28) (ISDIV(x[20], y[20])≥NonInfC∧ISDIV(x[20], y[20])≥COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])∧(UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥))
(29) ((UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥)∧0 ≥ 0∧0 ≥ 0)
(30) ((UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥)∧0 ≥ 0∧0 ≥ 0)
(31) ((UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥)∧0 ≥ 0∧0 ≥ 0)
(32) (0 = 0∧(UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥)∧0 = 0∧0 = 0∧0 ≥ 0∧0 ≥ 0∧0 = 0)
(33) (ISDIV(x[2], y[2])≥NonInfC∧ISDIV(x[2], y[2])≥COND_ISDIV2(>@z(0@z, y[2]), x[2], y[2])∧(UIncreasing(COND_ISDIV2(>@z(0@z, y[2]), x[2], y[2])), ≥))
(34) ((UIncreasing(COND_ISDIV2(>@z(0@z, y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(35) ((UIncreasing(COND_ISDIV2(>@z(0@z, y[2]), x[2], y[2])), ≥)∧0 ≥ 0∧0 ≥ 0)
(36) (0 ≥ 0∧0 ≥ 0∧(UIncreasing(COND_ISDIV2(>@z(0@z, y[2]), x[2], y[2])), ≥))
(37) (0 = 0∧0 ≥ 0∧0 ≥ 0∧0 = 0∧0 = 0∧0 = 0∧(UIncreasing(COND_ISDIV2(>@z(0@z, y[2]), x[2], y[2])), ≥))
(38) (y[2]1=y[11]1∧&&(>=@z(y[20], x[20]), >@z(x[20], 0@z))=TRUE∧>@z(0@z, y[2])=TRUE∧-@z(y[11]1)=y[20]∧y[20]=y[3]∧x[2]=x[11]∧>@z(0@z, y[2]1)=TRUE∧-@z(y[11])=y[2]1∧y[2]=y[11]∧x[20]=x[3]∧x[11]=x[2]1∧x[11]1=x[20]∧x[2]1=x[11]1 ⇒ COND_ISDIV2(TRUE, x[11]1, y[11]1)≥NonInfC∧COND_ISDIV2(TRUE, x[11]1, y[11]1)≥ISDIV(x[11]1, -@z(y[11]1))∧(UIncreasing(ISDIV(x[11]1, -@z(y[11]1))), ≥))
(39) (>@z(0@z, y[2])=TRUE∧>@z(0@z, -@z(y[2]))=TRUE∧>=@z(-@z(-@z(y[2])), x[20])=TRUE∧>@z(x[20], 0@z)=TRUE ⇒ COND_ISDIV2(TRUE, x[20], -@z(y[2]))≥NonInfC∧COND_ISDIV2(TRUE, x[20], -@z(y[2]))≥ISDIV(x[20], -@z(-@z(y[2])))∧(UIncreasing(ISDIV(x[11]1, -@z(y[11]1))), ≥))
(40) (-1 + (-1)y[2] ≥ 0∧-1 + y[2] ≥ 0∧y[2] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11]1, -@z(y[11]1))), ≥)∧-1 + (-1)Bound + (-1)y[2] + (2)x[20] ≥ 0∧-1 + (-2)y[2] ≥ 0)
(41) (-1 + (-1)y[2] ≥ 0∧-1 + y[2] ≥ 0∧y[2] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11]1, -@z(y[11]1))), ≥)∧-1 + (-1)Bound + (-1)y[2] + (2)x[20] ≥ 0∧-1 + (-2)y[2] ≥ 0)
(42) (-1 + x[20] ≥ 0∧y[2] + (-1)x[20] ≥ 0∧-1 + y[2] ≥ 0∧-1 + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11]1, -@z(y[11]1))), ≥)∧-1 + (-2)y[2] ≥ 0∧-1 + (-1)Bound + (-1)y[2] + (2)x[20] ≥ 0)
(43) (x[20]1=x[3]1∧+@z(-@z(x[3]), y[3])=y[2]∧&&(>=@z(y[20], x[20]), >@z(x[20], 0@z))=TRUE∧>@z(0@z, y[2])=TRUE∧-@z(y[11])=y[20]1∧y[20]1=y[3]1∧x[3]=x[2]∧y[20]=y[3]∧x[2]=x[11]∧x[11]=x[20]1∧y[2]=y[11]∧x[20]=x[3]∧&&(>=@z(y[20]1, x[20]1), >@z(x[20]1, 0@z))=TRUE ⇒ COND_ISDIV2(TRUE, x[11], y[11])≥NonInfC∧COND_ISDIV2(TRUE, x[11], y[11])≥ISDIV(x[11], -@z(y[11]))∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥))
(44) (>@z(0@z, +@z(-@z(x[20]), y[20]))=TRUE∧>=@z(y[20], x[20])=TRUE∧>@z(x[20], 0@z)=TRUE∧>=@z(-@z(+@z(-@z(x[20]), y[20])), x[20])=TRUE ⇒ COND_ISDIV2(TRUE, x[20], +@z(-@z(x[20]), y[20]))≥NonInfC∧COND_ISDIV2(TRUE, x[20], +@z(-@z(x[20]), y[20]))≥ISDIV(x[20], -@z(+@z(-@z(x[20]), y[20])))∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥))
(45) (-1 + x[20] + (-1)y[20] ≥ 0∧y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0∧(-1)y[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧-1 + (-1)Bound + x[20] + y[20] ≥ 0∧-1 + (-2)x[20] + (2)y[20] ≥ 0)
(46) (-1 + x[20] + (-1)y[20] ≥ 0∧y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0∧(-1)y[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧-1 + (-1)Bound + x[20] + y[20] ≥ 0∧-1 + (-2)x[20] + (2)y[20] ≥ 0)
(47) (-1 + x[20] ≥ 0∧(-1)y[20] ≥ 0∧y[20] + (-1)x[20] ≥ 0∧-1 + x[20] + (-1)y[20] ≥ 0 ⇒ -1 + (-1)Bound + x[20] + y[20] ≥ 0∧-1 + (-2)x[20] + (2)y[20] ≥ 0∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥))
(48) (y[2]1=y[11]1∧>@z(0@z, y[2])=TRUE∧y[2]2=y[11]2∧-@z(y[11]1)=y[2]2∧x[2]=x[11]∧x[2]2=x[11]2∧>@z(0@z, y[2]1)=TRUE∧-@z(y[11])=y[2]1∧>@z(0@z, y[2]2)=TRUE∧y[2]=y[11]∧x[11]=x[2]1∧x[2]1=x[11]1∧x[11]1=x[2]2 ⇒ COND_ISDIV2(TRUE, x[11]1, y[11]1)≥NonInfC∧COND_ISDIV2(TRUE, x[11]1, y[11]1)≥ISDIV(x[11]1, -@z(y[11]1))∧(UIncreasing(ISDIV(x[11]1, -@z(y[11]1))), ≥))
(49) (>@z(0@z, y[2])=TRUE∧>@z(0@z, -@z(y[2]))=TRUE∧>@z(0@z, -@z(-@z(y[2])))=TRUE ⇒ COND_ISDIV2(TRUE, x[2], -@z(y[2]))≥NonInfC∧COND_ISDIV2(TRUE, x[2], -@z(y[2]))≥ISDIV(x[2], -@z(-@z(y[2])))∧(UIncreasing(ISDIV(x[11]1, -@z(y[11]1))), ≥))
(50) (-1 + (-1)y[2] ≥ 0∧-1 + y[2] ≥ 0∧-1 + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11]1, -@z(y[11]1))), ≥)∧-1 + (-1)Bound + (-1)y[2] + (2)x[2] ≥ 0∧-1 + (-2)y[2] ≥ 0)
(51) (-1 + (-1)y[2] ≥ 0∧-1 + y[2] ≥ 0∧-1 + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11]1, -@z(y[11]1))), ≥)∧-1 + (-1)Bound + (-1)y[2] + (2)x[2] ≥ 0∧-1 + (-2)y[2] ≥ 0)
(52) (-1 + y[2] ≥ 0∧-1 + (-1)y[2] ≥ 0∧-1 + (-1)y[2] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11]1, -@z(y[11]1))), ≥)∧-1 + (-2)y[2] ≥ 0∧-1 + (-1)Bound + (-1)y[2] + (2)x[2] ≥ 0)
(53) (-1 + y[2] ≥ 0∧-1 + (-1)y[2] ≥ 0∧-1 + (-1)y[2] ≥ 0 ⇒ 2 = 0∧(UIncreasing(ISDIV(x[11]1, -@z(y[11]1))), ≥)∧-1 + (-1)Bound + (-1)y[2] ≥ 0∧-1 + (-2)y[2] ≥ 0∧0 = 0)
(54) (y[2]1=y[11]1∧+@z(-@z(x[3]), y[3])=y[2]∧&&(>=@z(y[20], x[20]), >@z(x[20], 0@z))=TRUE∧>@z(0@z, y[2])=TRUE∧x[3]=x[2]∧y[20]=y[3]∧x[2]=x[11]∧>@z(0@z, y[2]1)=TRUE∧-@z(y[11])=y[2]1∧y[2]=y[11]∧x[20]=x[3]∧x[11]=x[2]1∧x[2]1=x[11]1 ⇒ COND_ISDIV2(TRUE, x[11], y[11])≥NonInfC∧COND_ISDIV2(TRUE, x[11], y[11])≥ISDIV(x[11], -@z(y[11]))∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥))
(55) (>@z(0@z, +@z(-@z(x[20]), y[20]))=TRUE∧>@z(0@z, -@z(+@z(-@z(x[20]), y[20])))=TRUE∧>=@z(y[20], x[20])=TRUE∧>@z(x[20], 0@z)=TRUE ⇒ COND_ISDIV2(TRUE, x[20], +@z(-@z(x[20]), y[20]))≥NonInfC∧COND_ISDIV2(TRUE, x[20], +@z(-@z(x[20]), y[20]))≥ISDIV(x[20], -@z(+@z(-@z(x[20]), y[20])))∧(UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥))
(56) (-1 + x[20] + (-1)y[20] ≥ 0∧-1 + (-1)x[20] + y[20] ≥ 0∧y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧-1 + (-1)Bound + x[20] + y[20] ≥ 0∧-1 + (-2)x[20] + (2)y[20] ≥ 0)
(57) (-1 + x[20] + (-1)y[20] ≥ 0∧-1 + (-1)x[20] + y[20] ≥ 0∧y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧-1 + (-1)Bound + x[20] + y[20] ≥ 0∧-1 + (-2)x[20] + (2)y[20] ≥ 0)
(58) (-1 + (-1)x[20] + y[20] ≥ 0∧y[20] + (-1)x[20] ≥ 0∧-1 + x[20] + (-1)y[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[11], -@z(y[11]))), ≥)∧-1 + (-1)Bound + x[20] + y[20] ≥ 0∧-1 + (-2)x[20] + (2)y[20] ≥ 0)
POL(-@z(x1)) = (-1)x1
POL(>=@z(x1, x2)) = -1
POL(0@z) = 0
POL(ISDIV(x1, x2)) = -1 + x2 + (2)x1
POL(TRUE) = 0
POL(&&(x1, x2)) = 0
POL(COND_ISDIV2(x1, x2, x3)) = -1 + x3 + (2)x2
POL(+@z(x1, x2)) = x1 + x2
POL(FALSE) = 0
POL(COND_ISDIV(x1, x2, x3)) = -1 + x3 + (2)x2 + (2)x1
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
COND_ISDIV2(TRUE, x[11], y[11]) → ISDIV(x[11], -@z(y[11]))
COND_ISDIV2(TRUE, x[11], y[11]) → ISDIV(x[11], -@z(y[11]))
COND_ISDIV(TRUE, x[3], y[3]) → ISDIV(x[3], +@z(-@z(x[3]), y[3]))
ISDIV(x[20], y[20]) → COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])
ISDIV(x[2], y[2]) → COND_ISDIV2(>@z(0@z, y[2]), x[2], y[2])
&&(FALSE, FALSE)1 ↔ FALSE1
+@z1 ↔
&&(TRUE, TRUE)1 ↔ TRUE1
&&(FALSE, TRUE)1 ↔ FALSE1
&&(TRUE, FALSE)1 ↔ FALSE1
-@z1 ↔
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDP
↳ IDP
↳ IDP
z
(3) -> (2), if ((+@z(-@z(x[3]), y[3]) →* y[2])∧(x[3] →* x[2]))
(20) -> (3), if ((x[20] →* x[3])∧(y[20] →* y[3])∧(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)) →* TRUE))
(3) -> (20), if ((+@z(-@z(x[3]), y[3]) →* y[20])∧(x[3] →* x[20]))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDP
↳ IDP
↳ IDP
z
(20) -> (3), if ((x[20] →* x[3])∧(y[20] →* y[3])∧(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)) →* TRUE))
(3) -> (20), if ((+@z(-@z(x[3]), y[3]) →* y[20])∧(x[3] →* x[20]))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
(1) (ISDIV(x[20], y[20])≥NonInfC∧ISDIV(x[20], y[20])≥COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])∧(UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥))
(2) ((UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥)∧0 ≥ 0∧0 ≥ 0)
(3) ((UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥)∧0 ≥ 0∧0 ≥ 0)
(4) ((UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥)∧0 ≥ 0∧0 ≥ 0)
(5) ((UIncreasing(COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])), ≥)∧0 = 0∧0 = 0∧0 ≥ 0∧0 ≥ 0∧0 = 0∧0 = 0)
(6) (x[3]=x[20]1∧&&(>=@z(y[20], x[20]), >@z(x[20], 0@z))=TRUE∧x[20]=x[3]∧+@z(-@z(x[3]), y[3])=y[20]1∧y[20]=y[3] ⇒ COND_ISDIV(TRUE, x[3], y[3])≥NonInfC∧COND_ISDIV(TRUE, x[3], y[3])≥ISDIV(x[3], +@z(-@z(x[3]), y[3]))∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(7) (>=@z(y[20], x[20])=TRUE∧>@z(x[20], 0@z)=TRUE ⇒ COND_ISDIV(TRUE, x[20], y[20])≥NonInfC∧COND_ISDIV(TRUE, x[20], y[20])≥ISDIV(x[20], +@z(-@z(x[20]), y[20]))∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(8) (y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧-1 + (-1)Bound + (2)y[20] ≥ 0∧-2 + (2)x[20] ≥ 0)
(9) (y[20] + (-1)x[20] ≥ 0∧-1 + x[20] ≥ 0 ⇒ (UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥)∧-1 + (-1)Bound + (2)y[20] ≥ 0∧-2 + (2)x[20] ≥ 0)
(10) (-1 + x[20] ≥ 0∧y[20] + (-1)x[20] ≥ 0 ⇒ -2 + (2)x[20] ≥ 0∧-1 + (-1)Bound + (2)y[20] ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(11) (-1 + x[20] ≥ 0∧y[20] ≥ 0 ⇒ -2 + (2)x[20] ≥ 0∧-1 + (-1)Bound + (2)x[20] + (2)y[20] ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
(12) (x[20] ≥ 0∧y[20] ≥ 0 ⇒ (2)x[20] ≥ 0∧1 + (-1)Bound + (2)x[20] + (2)y[20] ≥ 0∧(UIncreasing(ISDIV(x[3], +@z(-@z(x[3]), y[3]))), ≥))
POL(-@z(x1)) = (-1)x1
POL(>=@z(x1, x2)) = -1
POL(0@z) = 0
POL(ISDIV(x1, x2)) = (2)x2
POL(TRUE) = 2
POL(&&(x1, x2)) = -1
POL(+@z(x1, x2)) = x1 + x2
POL(FALSE) = -1
POL(COND_ISDIV(x1, x2, x3)) = -1 + (2)x3
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
ISDIV(x[20], y[20]) → COND_ISDIV(&&(>=@z(y[20], x[20]), >@z(x[20], 0@z)), x[20], y[20])
COND_ISDIV(TRUE, x[3], y[3]) → ISDIV(x[3], +@z(-@z(x[3]), y[3]))
COND_ISDIV(TRUE, x[3], y[3]) → ISDIV(x[3], +@z(-@z(x[3]), y[3]))
&&(FALSE, FALSE)1 ↔ FALSE1
+@z1 ↔
TRUE1 → &&(TRUE, TRUE)1
&&(TRUE, FALSE)1 ↔ FALSE1
&&(FALSE, TRUE)1 ↔ FALSE1
-@z1 ↔
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ IDP
z
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDP
↳ IDP
↳ IDP
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDP
↳ IDP
z
filter(x, cons(y, zs)) → if_2(isdiv(x, y), x, y, zs)
nats(x, y) → Cond_nats1(=@z(x, y), x, y)
isdiv(x, 0@z) → Cond_isdiv4(>@z(x, 0@z), x)
if_2(FALSE, x, y, zs) → cons(x, filter(x, zs))
Cond_nats2(TRUE, x, y) → nil
Cond_isdiv1(TRUE, x, y) → FALSE
Cond_nats1(TRUE, x, y) → cons(x, nil)
nats(x, y) → Cond_nats2(>@z(x, y), x, y)
sieve(cons(x, ys)) → cons(x, sieve(filter(x, ys)))
filter(x, nil) → nil
sieve(nil) → nil
Cond_isdiv4(TRUE, x) → TRUE
filter(x, cons(y, zs)) → if_1(isdiv(x, y), x, y, zs)
if_1(TRUE, x, y, zs) → filter(x, zs)
nats(x, y) → Cond_nats(>@z(y, x), x, y)
isdiv(x, y) → Cond_isdiv1(&&(>@z(x, y), >@z(y, 0@z)), x, y)
Cond_nats(TRUE, x, y) → cons(x, nats(+@z(x, 1@z), y))
primes(x) → sieve(nats(2@z, x))
Cond_isdiv(TRUE, x, y) → isdiv(x, +@z(-@z(x), y))
isdiv(x, y) → Cond_isdiv2(>@z(0@z, y), x, y)
Cond_isdiv3(TRUE, x, y) → isdiv(-@z(x), y)
isdiv(x, y) → Cond_isdiv(&&(>=@z(y, x), >@z(x, 0@z)), x, y)
Cond_isdiv2(TRUE, x, y) → isdiv(x, -@z(y))
isdiv(x, y) → Cond_isdiv3(>@z(0@z, x), x, y)
(15) -> (13), if ((zs[15] →* cons(y[13], zs[13]))∧(x[15] →* x[13]))
(13) -> (0), if ((zs[13] →* zs[0])∧(x[13] →* x[0])∧(y[13] →* y[0])∧(isdiv(x[13], y[13]) →* FALSE))
(4) -> (15), if ((zs[4] →* zs[15])∧(x[4] →* x[15])∧(y[4] →* y[15])∧(isdiv(x[4], y[4]) →* TRUE))
(0) -> (13), if ((zs[0] →* cons(y[13], zs[13]))∧(x[0] →* x[13]))
(15) -> (4), if ((zs[15] →* cons(y[4], zs[4]))∧(x[15] →* x[4]))
(0) -> (4), if ((zs[0] →* cons(y[4], zs[4]))∧(x[0] →* x[4]))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDP
↳ IDP
z
isdiv(x, 0@z) → Cond_isdiv4(>@z(x, 0@z), x)
Cond_isdiv(TRUE, x, y) → isdiv(x, +@z(-@z(x), y))
isdiv(x, y) → Cond_isdiv2(>@z(0@z, y), x, y)
Cond_isdiv3(TRUE, x, y) → isdiv(-@z(x), y)
isdiv(x, y) → Cond_isdiv(&&(>=@z(y, x), >@z(x, 0@z)), x, y)
Cond_isdiv2(TRUE, x, y) → isdiv(x, -@z(y))
isdiv(x, y) → Cond_isdiv3(>@z(0@z, x), x, y)
Cond_isdiv1(TRUE, x, y) → FALSE
isdiv(x, y) → Cond_isdiv1(&&(>@z(x, y), >@z(y, 0@z)), x, y)
Cond_isdiv4(TRUE, x) → TRUE
(15) -> (13), if ((zs[15] →* cons(y[13], zs[13]))∧(x[15] →* x[13]))
(13) -> (0), if ((zs[13] →* zs[0])∧(x[13] →* x[0])∧(y[13] →* y[0])∧(isdiv(x[13], y[13]) →* FALSE))
(4) -> (15), if ((zs[4] →* zs[15])∧(x[4] →* x[15])∧(y[4] →* y[15])∧(isdiv(x[4], y[4]) →* TRUE))
(0) -> (13), if ((zs[0] →* cons(y[13], zs[13]))∧(x[0] →* x[13]))
(15) -> (4), if ((zs[15] →* cons(y[4], zs[4]))∧(x[15] →* x[4]))
(0) -> (4), if ((zs[0] →* cons(y[4], zs[4]))∧(x[0] →* x[4]))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
(1) (zs[4]=zs[15]∧x[4]=x[15]∧isdiv(x[4], y[4])=TRUE∧zs[15]=cons(y[13], zs[13])∧y[4]=y[15]∧x[15]=x[13] ⇒ IF_1(TRUE, x[15], y[15], zs[15])≥FILTER(x[15], zs[15])∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(2) (isdiv(x[4], y[4])=TRUE ⇒ IF_1(TRUE, x[4], y[4], cons(y[13], zs[13]))≥FILTER(x[4], cons(y[13], zs[13]))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(3) (Cond_isdiv4(>@z(x0, 0@z), x0)=TRUE ⇒ IF_1(TRUE, x0, 0@z, cons(y[13], zs[13]))≥FILTER(x0, cons(y[13], zs[13]))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(4) (Cond_isdiv2(>@z(0@z, x1), x2, x1)=TRUE ⇒ IF_1(TRUE, x2, x1, cons(y[13], zs[13]))≥FILTER(x2, cons(y[13], zs[13]))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(5) (Cond_isdiv(&&(>=@z(x3, x4), >@z(x4, 0@z)), x4, x3)=TRUE ⇒ IF_1(TRUE, x4, x3, cons(y[13], zs[13]))≥FILTER(x4, cons(y[13], zs[13]))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(6) (Cond_isdiv3(>@z(0@z, x6), x6, x5)=TRUE ⇒ IF_1(TRUE, x6, x5, cons(y[13], zs[13]))≥FILTER(x6, cons(y[13], zs[13]))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(7) (Cond_isdiv1(&&(>@z(x8, x7), >@z(x7, 0@z)), x8, x7)=TRUE ⇒ IF_1(TRUE, x8, x7, cons(y[13], zs[13]))≥FILTER(x8, cons(y[13], zs[13]))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(8) (Cond_isdiv4(>@z(x0, 0@z), x0)=TRUE ⇒ IF_1(TRUE, x0, 0@z, cons(y[13], zs[13]))≥FILTER(x0, cons(y[13], zs[13]))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(9) (Cond_isdiv2(>@z(0@z, x1), x2, x1)=TRUE ⇒ IF_1(TRUE, x2, x1, cons(y[13], zs[13]))≥FILTER(x2, cons(y[13], zs[13]))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(10) (Cond_isdiv(&&(>=@z(x3, x4), >@z(x4, 0@z)), x4, x3)=TRUE ⇒ IF_1(TRUE, x4, x3, cons(y[13], zs[13]))≥FILTER(x4, cons(y[13], zs[13]))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(11) (Cond_isdiv3(>@z(0@z, x6), x6, x5)=TRUE ⇒ IF_1(TRUE, x6, x5, cons(y[13], zs[13]))≥FILTER(x6, cons(y[13], zs[13]))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(12) (Cond_isdiv1(&&(>@z(x8, x7), >@z(x7, 0@z)), x8, x7)=TRUE ⇒ IF_1(TRUE, x8, x7, cons(y[13], zs[13]))≥FILTER(x8, cons(y[13], zs[13]))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(13) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(14) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(15) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(16) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(17) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(18) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(19) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(20) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(21) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(22) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(23) (0 ≥ 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(24) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(25) (0 ≥ 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(26) (0 ≥ 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(27) (0 ≥ 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(28) (0 = 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 ≥ 0)
(29) (0 ≥ 0∧0 = 0∧0 = 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 = 0∧0 = 0)
(30) (0 ≥ 0∧0 = 0∧0 = 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 = 0∧0 = 0)
(31) (0 = 0∧0 ≥ 0∧0 = 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 = 0)
(32) (0 = 0∧0 = 0∧0 = 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 = 0∧0 ≥ 0)
(33) (zs[4]=zs[15]∧x[4]=x[15]∧zs[15]=cons(y[4]1, zs[4]1)∧isdiv(x[4], y[4])=TRUE∧y[4]=y[15]∧x[15]=x[4]1 ⇒ IF_1(TRUE, x[15], y[15], zs[15])≥FILTER(x[15], zs[15])∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(34) (isdiv(x[4], y[4])=TRUE ⇒ IF_1(TRUE, x[4], y[4], cons(y[4]1, zs[4]1))≥FILTER(x[4], cons(y[4]1, zs[4]1))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(35) (Cond_isdiv4(>@z(x14, 0@z), x14)=TRUE ⇒ IF_1(TRUE, x14, 0@z, cons(y[4]1, zs[4]1))≥FILTER(x14, cons(y[4]1, zs[4]1))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(36) (Cond_isdiv2(>@z(0@z, x15), x16, x15)=TRUE ⇒ IF_1(TRUE, x16, x15, cons(y[4]1, zs[4]1))≥FILTER(x16, cons(y[4]1, zs[4]1))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(37) (Cond_isdiv(&&(>=@z(x17, x18), >@z(x18, 0@z)), x18, x17)=TRUE ⇒ IF_1(TRUE, x18, x17, cons(y[4]1, zs[4]1))≥FILTER(x18, cons(y[4]1, zs[4]1))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(38) (Cond_isdiv3(>@z(0@z, x20), x20, x19)=TRUE ⇒ IF_1(TRUE, x20, x19, cons(y[4]1, zs[4]1))≥FILTER(x20, cons(y[4]1, zs[4]1))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(39) (Cond_isdiv1(&&(>@z(x22, x21), >@z(x21, 0@z)), x22, x21)=TRUE ⇒ IF_1(TRUE, x22, x21, cons(y[4]1, zs[4]1))≥FILTER(x22, cons(y[4]1, zs[4]1))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(40) (Cond_isdiv4(>@z(x14, 0@z), x14)=TRUE ⇒ IF_1(TRUE, x14, 0@z, cons(y[4]1, zs[4]1))≥FILTER(x14, cons(y[4]1, zs[4]1))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(41) (Cond_isdiv2(>@z(0@z, x15), x16, x15)=TRUE ⇒ IF_1(TRUE, x16, x15, cons(y[4]1, zs[4]1))≥FILTER(x16, cons(y[4]1, zs[4]1))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(42) (Cond_isdiv(&&(>=@z(x17, x18), >@z(x18, 0@z)), x18, x17)=TRUE ⇒ IF_1(TRUE, x18, x17, cons(y[4]1, zs[4]1))≥FILTER(x18, cons(y[4]1, zs[4]1))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(43) (Cond_isdiv3(>@z(0@z, x20), x20, x19)=TRUE ⇒ IF_1(TRUE, x20, x19, cons(y[4]1, zs[4]1))≥FILTER(x20, cons(y[4]1, zs[4]1))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(44) (Cond_isdiv1(&&(>@z(x22, x21), >@z(x21, 0@z)), x22, x21)=TRUE ⇒ IF_1(TRUE, x22, x21, cons(y[4]1, zs[4]1))≥FILTER(x22, cons(y[4]1, zs[4]1))∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(45) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(46) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(47) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(48) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(49) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(50) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(51) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(52) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(53) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(54) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(55) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(56) (0 ≥ 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(57) (0 ≥ 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(58) ((UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 ≥ 0)
(59) (0 ≥ 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(60) (0 = 0∧0 ≥ 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 = 0∧0 = 0∧0 = 0)
(61) (0 = 0∧0 ≥ 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 = 0∧0 = 0∧0 = 0)
(62) (0 ≥ 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0)
(63) (0 = 0∧0 = 0∧0 ≥ 0∧0 = 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥))
(64) (0 = 0∧0 = 0∧0 ≥ 0∧0 = 0∧(UIncreasing(FILTER(x[15], zs[15])), ≥)∧0 = 0)
(65) (zs[4]=zs[15]1∧x[15]=x[4]∧isdiv(x[4], y[4])=TRUE∧x[4]=x[15]1∧zs[15]=cons(y[4], zs[4])∧y[4]=y[15]1 ⇒ FILTER(x[4], cons(y[4], zs[4]))≥IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(66) (isdiv(x[4], y[4])=TRUE ⇒ FILTER(x[4], cons(y[4], zs[4]))≥IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(67) (Cond_isdiv4(>@z(x28, 0@z), x28)=TRUE ⇒ FILTER(x28, cons(0@z, zs[4]))≥IF_1(isdiv(x28, 0@z), x28, 0@z, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(68) (Cond_isdiv2(>@z(0@z, x29), x30, x29)=TRUE ⇒ FILTER(x30, cons(x29, zs[4]))≥IF_1(isdiv(x30, x29), x30, x29, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(69) (Cond_isdiv(&&(>=@z(x31, x32), >@z(x32, 0@z)), x32, x31)=TRUE ⇒ FILTER(x32, cons(x31, zs[4]))≥IF_1(isdiv(x32, x31), x32, x31, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(70) (Cond_isdiv3(>@z(0@z, x34), x34, x33)=TRUE ⇒ FILTER(x34, cons(x33, zs[4]))≥IF_1(isdiv(x34, x33), x34, x33, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(71) (Cond_isdiv1(&&(>@z(x36, x35), >@z(x35, 0@z)), x36, x35)=TRUE ⇒ FILTER(x36, cons(x35, zs[4]))≥IF_1(isdiv(x36, x35), x36, x35, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(72) (Cond_isdiv4(>@z(x28, 0@z), x28)=TRUE ⇒ FILTER(x28, cons(0@z, zs[4]))≥IF_1(isdiv(x28, 0@z), x28, 0@z, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(73) (Cond_isdiv2(>@z(0@z, x29), x30, x29)=TRUE ⇒ FILTER(x30, cons(x29, zs[4]))≥IF_1(isdiv(x30, x29), x30, x29, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(74) (Cond_isdiv(&&(>=@z(x31, x32), >@z(x32, 0@z)), x32, x31)=TRUE ⇒ FILTER(x32, cons(x31, zs[4]))≥IF_1(isdiv(x32, x31), x32, x31, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(75) (Cond_isdiv3(>@z(0@z, x34), x34, x33)=TRUE ⇒ FILTER(x34, cons(x33, zs[4]))≥IF_1(isdiv(x34, x33), x34, x33, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(76) (Cond_isdiv1(&&(>@z(x36, x35), >@z(x35, 0@z)), x36, x35)=TRUE ⇒ FILTER(x36, cons(x35, zs[4]))≥IF_1(isdiv(x36, x35), x36, x35, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(77) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(78) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(79) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(80) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(81) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(82) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(83) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(84) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(85) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(86) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(87) (1 ≥ 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(88) (1 ≥ 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(89) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(90) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(91) (1 ≥ 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(92) (0 = 0∧0 = 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0∧0 = 0)
(93) (1 ≥ 0∧0 = 0∧0 = 0∧0 = 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(94) (1 ≥ 0∧0 = 0∧0 = 0∧0 = 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(95) (1 ≥ 0∧0 = 0∧0 = 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(96) (0 = 0∧0 = 0∧0 = 0∧1 ≥ 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(97) (zs[4]=zs[15]∧zs[0]=cons(y[4], zs[4])∧x[0]=x[4]∧x[4]=x[15]∧isdiv(x[4], y[4])=TRUE∧y[4]=y[15] ⇒ FILTER(x[4], cons(y[4], zs[4]))≥IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(98) (isdiv(x[4], y[4])=TRUE ⇒ FILTER(x[4], cons(y[4], zs[4]))≥IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(99) (Cond_isdiv4(>@z(x42, 0@z), x42)=TRUE ⇒ FILTER(x42, cons(0@z, zs[4]))≥IF_1(isdiv(x42, 0@z), x42, 0@z, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(100) (Cond_isdiv2(>@z(0@z, x43), x44, x43)=TRUE ⇒ FILTER(x44, cons(x43, zs[4]))≥IF_1(isdiv(x44, x43), x44, x43, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(101) (Cond_isdiv(&&(>=@z(x45, x46), >@z(x46, 0@z)), x46, x45)=TRUE ⇒ FILTER(x46, cons(x45, zs[4]))≥IF_1(isdiv(x46, x45), x46, x45, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(102) (Cond_isdiv3(>@z(0@z, x48), x48, x47)=TRUE ⇒ FILTER(x48, cons(x47, zs[4]))≥IF_1(isdiv(x48, x47), x48, x47, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(103) (Cond_isdiv1(&&(>@z(x50, x49), >@z(x49, 0@z)), x50, x49)=TRUE ⇒ FILTER(x50, cons(x49, zs[4]))≥IF_1(isdiv(x50, x49), x50, x49, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(104) (Cond_isdiv4(>@z(x42, 0@z), x42)=TRUE ⇒ FILTER(x42, cons(0@z, zs[4]))≥IF_1(isdiv(x42, 0@z), x42, 0@z, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(105) (Cond_isdiv2(>@z(0@z, x43), x44, x43)=TRUE ⇒ FILTER(x44, cons(x43, zs[4]))≥IF_1(isdiv(x44, x43), x44, x43, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(106) (Cond_isdiv(&&(>=@z(x45, x46), >@z(x46, 0@z)), x46, x45)=TRUE ⇒ FILTER(x46, cons(x45, zs[4]))≥IF_1(isdiv(x46, x45), x46, x45, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(107) (Cond_isdiv3(>@z(0@z, x48), x48, x47)=TRUE ⇒ FILTER(x48, cons(x47, zs[4]))≥IF_1(isdiv(x48, x47), x48, x47, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(108) (Cond_isdiv1(&&(>@z(x50, x49), >@z(x49, 0@z)), x50, x49)=TRUE ⇒ FILTER(x50, cons(x49, zs[4]))≥IF_1(isdiv(x50, x49), x50, x49, zs[4])∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(109) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(110) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(111) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(112) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(113) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(114) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(115) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(116) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(117) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(118) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(119) (1 ≥ 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(120) (1 ≥ 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(121) ((UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(122) (1 ≥ 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(123) (1 ≥ 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥))
(124) (0 = 0∧1 ≥ 0∧0 = 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧0 = 0)
(125) (0 = 0∧0 = 0∧0 = 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧1 ≥ 0)
(126) (0 = 0∧0 = 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧0 = 0∧1 ≥ 0)
(127) (0 = 0∧1 ≥ 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧0 = 0)
(128) (0 = 0∧0 = 0∧1 ≥ 0∧(UIncreasing(IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])), ≥)∧0 = 0)
(129) (zs[13]=zs[0]1∧isdiv(x[13], y[13])=FALSE∧x[0]=x[13]∧y[13]=y[0]1∧zs[0]=cons(y[13], zs[13])∧x[13]=x[0]1 ⇒ FILTER(x[13], cons(y[13], zs[13]))≥IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(130) (isdiv(x[13], y[13])=FALSE ⇒ FILTER(x[13], cons(y[13], zs[13]))≥IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(131) (Cond_isdiv4(>@z(x56, 0@z), x56)=FALSE ⇒ FILTER(x56, cons(0@z, zs[13]))≥IF_2(isdiv(x56, 0@z), x56, 0@z, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(132) (Cond_isdiv2(>@z(0@z, x57), x58, x57)=FALSE ⇒ FILTER(x58, cons(x57, zs[13]))≥IF_2(isdiv(x58, x57), x58, x57, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(133) (Cond_isdiv(&&(>=@z(x59, x60), >@z(x60, 0@z)), x60, x59)=FALSE ⇒ FILTER(x60, cons(x59, zs[13]))≥IF_2(isdiv(x60, x59), x60, x59, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(134) (Cond_isdiv3(>@z(0@z, x62), x62, x61)=FALSE ⇒ FILTER(x62, cons(x61, zs[13]))≥IF_2(isdiv(x62, x61), x62, x61, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(135) (Cond_isdiv1(&&(>@z(x64, x63), >@z(x63, 0@z)), x64, x63)=FALSE ⇒ FILTER(x64, cons(x63, zs[13]))≥IF_2(isdiv(x64, x63), x64, x63, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(136) (Cond_isdiv4(>@z(x56, 0@z), x56)=FALSE ⇒ FILTER(x56, cons(0@z, zs[13]))≥IF_2(isdiv(x56, 0@z), x56, 0@z, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(137) (Cond_isdiv2(>@z(0@z, x57), x58, x57)=FALSE ⇒ FILTER(x58, cons(x57, zs[13]))≥IF_2(isdiv(x58, x57), x58, x57, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(138) (Cond_isdiv(&&(>=@z(x59, x60), >@z(x60, 0@z)), x60, x59)=FALSE ⇒ FILTER(x60, cons(x59, zs[13]))≥IF_2(isdiv(x60, x59), x60, x59, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(139) (Cond_isdiv3(>@z(0@z, x62), x62, x61)=FALSE ⇒ FILTER(x62, cons(x61, zs[13]))≥IF_2(isdiv(x62, x61), x62, x61, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(140) (Cond_isdiv1(&&(>@z(x64, x63), >@z(x63, 0@z)), x64, x63)=FALSE ⇒ FILTER(x64, cons(x63, zs[13]))≥IF_2(isdiv(x64, x63), x64, x63, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(141) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(142) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(143) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(144) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(145) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(146) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(147) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(148) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(149) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(150) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(151) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(152) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(153) (1 ≥ 0∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(154) (1 ≥ 0∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(155) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(156) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0∧0 = 0∧0 = 0∧0 = 0)
(157) (0 = 0∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0∧0 = 0∧0 = 0)
(158) (0 = 0∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0∧0 = 0∧0 = 0)
(159) (0 = 0∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0∧0 = 0)
(160) (0 = 0∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧0 = 0∧1 ≥ 0∧0 = 0)
(161) (isdiv(x[13], y[13])=FALSE∧zs[15]=cons(y[13], zs[13])∧y[13]=y[0]∧x[15]=x[13]∧x[13]=x[0]∧zs[13]=zs[0] ⇒ FILTER(x[13], cons(y[13], zs[13]))≥IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(162) (isdiv(x[13], y[13])=FALSE ⇒ FILTER(x[13], cons(y[13], zs[13]))≥IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(163) (Cond_isdiv4(>@z(x70, 0@z), x70)=FALSE ⇒ FILTER(x70, cons(0@z, zs[13]))≥IF_2(isdiv(x70, 0@z), x70, 0@z, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(164) (Cond_isdiv2(>@z(0@z, x71), x72, x71)=FALSE ⇒ FILTER(x72, cons(x71, zs[13]))≥IF_2(isdiv(x72, x71), x72, x71, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(165) (Cond_isdiv(&&(>=@z(x73, x74), >@z(x74, 0@z)), x74, x73)=FALSE ⇒ FILTER(x74, cons(x73, zs[13]))≥IF_2(isdiv(x74, x73), x74, x73, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(166) (Cond_isdiv3(>@z(0@z, x76), x76, x75)=FALSE ⇒ FILTER(x76, cons(x75, zs[13]))≥IF_2(isdiv(x76, x75), x76, x75, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(167) (Cond_isdiv1(&&(>@z(x78, x77), >@z(x77, 0@z)), x78, x77)=FALSE ⇒ FILTER(x78, cons(x77, zs[13]))≥IF_2(isdiv(x78, x77), x78, x77, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(168) (Cond_isdiv4(>@z(x70, 0@z), x70)=FALSE ⇒ FILTER(x70, cons(0@z, zs[13]))≥IF_2(isdiv(x70, 0@z), x70, 0@z, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(169) (Cond_isdiv2(>@z(0@z, x71), x72, x71)=FALSE ⇒ FILTER(x72, cons(x71, zs[13]))≥IF_2(isdiv(x72, x71), x72, x71, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(170) (Cond_isdiv(&&(>=@z(x73, x74), >@z(x74, 0@z)), x74, x73)=FALSE ⇒ FILTER(x74, cons(x73, zs[13]))≥IF_2(isdiv(x74, x73), x74, x73, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(171) (Cond_isdiv3(>@z(0@z, x76), x76, x75)=FALSE ⇒ FILTER(x76, cons(x75, zs[13]))≥IF_2(isdiv(x76, x75), x76, x75, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(172) (Cond_isdiv1(&&(>@z(x78, x77), >@z(x77, 0@z)), x78, x77)=FALSE ⇒ FILTER(x78, cons(x77, zs[13]))≥IF_2(isdiv(x78, x77), x78, x77, zs[13])∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(173) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(174) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(175) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(176) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(177) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(178) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(179) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(180) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(181) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(182) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(183) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(184) (1 ≥ 0∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(185) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(186) (1 ≥ 0∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥))
(187) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(188) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0∧0 = 0∧0 = 0∧0 = 0)
(189) (0 = 0∧0 = 0∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧0 = 0∧1 ≥ 0)
(190) (1 ≥ 0∧0 = 0∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧0 = 0∧0 = 0)
(191) (0 = 0∧0 = 0∧(UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧1 ≥ 0)
(192) ((UIncreasing(IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])), ≥)∧0 = 0∧0 = 0∧1 ≥ 0∧0 = 0)
(193) (isdiv(x[13], y[13])=FALSE∧zs[0]=cons(y[4], zs[4])∧x[0]=x[4]∧y[13]=y[0]∧x[13]=x[0]∧zs[13]=zs[0] ⇒ IF_2(FALSE, x[0], y[0], zs[0])≥FILTER(x[0], zs[0])∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(194) (isdiv(x[13], y[13])=FALSE ⇒ IF_2(FALSE, x[13], y[13], cons(y[4], zs[4]))≥FILTER(x[13], cons(y[4], zs[4]))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(195) (Cond_isdiv4(>@z(x84, 0@z), x84)=FALSE ⇒ IF_2(FALSE, x84, 0@z, cons(y[4], zs[4]))≥FILTER(x84, cons(y[4], zs[4]))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(196) (Cond_isdiv2(>@z(0@z, x85), x86, x85)=FALSE ⇒ IF_2(FALSE, x86, x85, cons(y[4], zs[4]))≥FILTER(x86, cons(y[4], zs[4]))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(197) (Cond_isdiv(&&(>=@z(x87, x88), >@z(x88, 0@z)), x88, x87)=FALSE ⇒ IF_2(FALSE, x88, x87, cons(y[4], zs[4]))≥FILTER(x88, cons(y[4], zs[4]))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(198) (Cond_isdiv3(>@z(0@z, x90), x90, x89)=FALSE ⇒ IF_2(FALSE, x90, x89, cons(y[4], zs[4]))≥FILTER(x90, cons(y[4], zs[4]))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(199) (Cond_isdiv1(&&(>@z(x92, x91), >@z(x91, 0@z)), x92, x91)=FALSE ⇒ IF_2(FALSE, x92, x91, cons(y[4], zs[4]))≥FILTER(x92, cons(y[4], zs[4]))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(200) (Cond_isdiv4(>@z(x84, 0@z), x84)=FALSE ⇒ IF_2(FALSE, x84, 0@z, cons(y[4], zs[4]))≥FILTER(x84, cons(y[4], zs[4]))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(201) (Cond_isdiv2(>@z(0@z, x85), x86, x85)=FALSE ⇒ IF_2(FALSE, x86, x85, cons(y[4], zs[4]))≥FILTER(x86, cons(y[4], zs[4]))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(202) (Cond_isdiv(&&(>=@z(x87, x88), >@z(x88, 0@z)), x88, x87)=FALSE ⇒ IF_2(FALSE, x88, x87, cons(y[4], zs[4]))≥FILTER(x88, cons(y[4], zs[4]))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(203) (Cond_isdiv3(>@z(0@z, x90), x90, x89)=FALSE ⇒ IF_2(FALSE, x90, x89, cons(y[4], zs[4]))≥FILTER(x90, cons(y[4], zs[4]))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(204) (Cond_isdiv1(&&(>@z(x92, x91), >@z(x91, 0@z)), x92, x91)=FALSE ⇒ IF_2(FALSE, x92, x91, cons(y[4], zs[4]))≥FILTER(x92, cons(y[4], zs[4]))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(205) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(206) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(207) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(208) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(209) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(210) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(211) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(212) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(213) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(214) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(215) (0 ≥ 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(216) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(217) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(218) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(219) (0 ≥ 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(220) (0 = 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 ≥ 0)
(221) (0 = 0∧0 = 0∧0 = 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0∧0 = 0)
(222) (0 = 0∧0 ≥ 0∧0 = 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 = 0∧0 = 0)
(223) (0 = 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 = 0∧0 = 0∧0 ≥ 0)
(224) (0 = 0∧0 = 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 = 0∧0 ≥ 0∧0 = 0)
(225) (isdiv(x[13], y[13])=FALSE∧zs[0]=cons(y[13]1, zs[13]1)∧y[13]=y[0]∧x[0]=x[13]1∧x[13]=x[0]∧zs[13]=zs[0] ⇒ IF_2(FALSE, x[0], y[0], zs[0])≥FILTER(x[0], zs[0])∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(226) (isdiv(x[13], y[13])=FALSE ⇒ IF_2(FALSE, x[13], y[13], cons(y[13]1, zs[13]1))≥FILTER(x[13], cons(y[13]1, zs[13]1))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(227) (Cond_isdiv4(>@z(x98, 0@z), x98)=FALSE ⇒ IF_2(FALSE, x98, 0@z, cons(y[13]1, zs[13]1))≥FILTER(x98, cons(y[13]1, zs[13]1))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(228) (Cond_isdiv2(>@z(0@z, x99), x100, x99)=FALSE ⇒ IF_2(FALSE, x100, x99, cons(y[13]1, zs[13]1))≥FILTER(x100, cons(y[13]1, zs[13]1))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(229) (Cond_isdiv(&&(>=@z(x101, x102), >@z(x102, 0@z)), x102, x101)=FALSE ⇒ IF_2(FALSE, x102, x101, cons(y[13]1, zs[13]1))≥FILTER(x102, cons(y[13]1, zs[13]1))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(230) (Cond_isdiv3(>@z(0@z, x104), x104, x103)=FALSE ⇒ IF_2(FALSE, x104, x103, cons(y[13]1, zs[13]1))≥FILTER(x104, cons(y[13]1, zs[13]1))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(231) (Cond_isdiv1(&&(>@z(x106, x105), >@z(x105, 0@z)), x106, x105)=FALSE ⇒ IF_2(FALSE, x106, x105, cons(y[13]1, zs[13]1))≥FILTER(x106, cons(y[13]1, zs[13]1))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(232) (Cond_isdiv4(>@z(x98, 0@z), x98)=FALSE ⇒ IF_2(FALSE, x98, 0@z, cons(y[13]1, zs[13]1))≥FILTER(x98, cons(y[13]1, zs[13]1))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(233) (Cond_isdiv2(>@z(0@z, x99), x100, x99)=FALSE ⇒ IF_2(FALSE, x100, x99, cons(y[13]1, zs[13]1))≥FILTER(x100, cons(y[13]1, zs[13]1))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(234) (Cond_isdiv(&&(>=@z(x101, x102), >@z(x102, 0@z)), x102, x101)=FALSE ⇒ IF_2(FALSE, x102, x101, cons(y[13]1, zs[13]1))≥FILTER(x102, cons(y[13]1, zs[13]1))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(235) (Cond_isdiv3(>@z(0@z, x104), x104, x103)=FALSE ⇒ IF_2(FALSE, x104, x103, cons(y[13]1, zs[13]1))≥FILTER(x104, cons(y[13]1, zs[13]1))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(236) (Cond_isdiv1(&&(>@z(x106, x105), >@z(x105, 0@z)), x106, x105)=FALSE ⇒ IF_2(FALSE, x106, x105, cons(y[13]1, zs[13]1))≥FILTER(x106, cons(y[13]1, zs[13]1))∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(237) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(238) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(239) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(240) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(241) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(242) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(243) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(244) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(245) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(246) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 ≥ 0)
(247) (0 ≥ 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(248) (0 ≥ 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(249) (0 ≥ 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(250) (0 ≥ 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(251) (0 ≥ 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥))
(252) (0 ≥ 0∧0 = 0∧0 = 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 = 0∧0 = 0)
(253) ((UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 = 0∧0 = 0∧0 ≥ 0∧0 = 0∧0 = 0)
(254) (0 = 0∧0 = 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 = 0∧0 ≥ 0∧0 = 0)
(255) (0 ≥ 0∧0 = 0∧0 = 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 = 0)
(256) (0 ≥ 0∧0 = 0∧0 = 0∧0 = 0∧(UIncreasing(FILTER(x[0], zs[0])), ≥)∧0 = 0)
POL(IF_1(x1, x2, x3, x4)) = -1 + x4 + (-1)x2
POL(Cond_isdiv2(x1, x2, x3)) = 3 + (3)x3
POL(0@z) = 0
POL(TRUE) = 0
POL(&&(x1, x2)) = 0
POL(Cond_isdiv4(x1, x2)) = 1 + (3)x2
POL(IF_2(x1, x2, x3, x4)) = -1 + x4 + (-1)x2
POL(Cond_isdiv1(x1, x2, x3)) = 3 + x3
POL(FALSE) = 0
POL(Cond_isdiv3(x1, x2, x3)) = 3 + x3 + (2)x2 + (3)x1
POL(isdiv(x1, x2)) = x1
POL(>@z(x1, x2)) = 0
POL(cons(x1, x2)) = 2 + x2
POL(-@z(x1)) = 0
POL(>=@z(x1, x2)) = 0
POL(Cond_isdiv(x1, x2, x3)) = 2
POL(+@z(x1, x2)) = 0
POL(undefined) = 0
POL(FILTER(x1, x2)) = -1 + x2 + (-1)x1
FILTER(x[4], cons(y[4], zs[4])) → IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])
FILTER(x[13], cons(y[13], zs[13])) → IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])
IF_1(TRUE, x[15], y[15], zs[15]) → FILTER(x[15], zs[15])
FILTER(x[4], cons(y[4], zs[4])) → IF_1(isdiv(x[4], y[4]), x[4], y[4], zs[4])
FILTER(x[13], cons(y[13], zs[13])) → IF_2(isdiv(x[13], y[13]), x[13], y[13], zs[13])
IF_2(FALSE, x[0], y[0], zs[0]) → FILTER(x[0], zs[0])
IF_1(TRUE, x[15], y[15], zs[15]) → FILTER(x[15], zs[15])
IF_2(FALSE, x[0], y[0], zs[0]) → FILTER(x[0], zs[0])
+@z1 ↔
-@z1 ↔
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDP
↳ IDP
↳ IDP
z
isdiv(x, 0@z) → Cond_isdiv4(>@z(x, 0@z), x)
Cond_isdiv(TRUE, x, y) → isdiv(x, +@z(-@z(x), y))
isdiv(x, y) → Cond_isdiv2(>@z(0@z, y), x, y)
Cond_isdiv3(TRUE, x, y) → isdiv(-@z(x), y)
isdiv(x, y) → Cond_isdiv(&&(>=@z(y, x), >@z(x, 0@z)), x, y)
Cond_isdiv2(TRUE, x, y) → isdiv(x, -@z(y))
isdiv(x, y) → Cond_isdiv3(>@z(0@z, x), x, y)
Cond_isdiv1(TRUE, x, y) → FALSE
isdiv(x, y) → Cond_isdiv1(&&(>@z(x, y), >@z(y, 0@z)), x, y)
Cond_isdiv4(TRUE, x) → TRUE
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDP
↳ IDP
z
isdiv(x, 0@z) → Cond_isdiv4(>@z(x, 0@z), x)
Cond_isdiv(TRUE, x, y) → isdiv(x, +@z(-@z(x), y))
isdiv(x, y) → Cond_isdiv2(>@z(0@z, y), x, y)
Cond_isdiv3(TRUE, x, y) → isdiv(-@z(x), y)
isdiv(x, y) → Cond_isdiv(&&(>=@z(y, x), >@z(x, 0@z)), x, y)
Cond_isdiv2(TRUE, x, y) → isdiv(x, -@z(y))
isdiv(x, y) → Cond_isdiv3(>@z(0@z, x), x, y)
Cond_isdiv1(TRUE, x, y) → FALSE
isdiv(x, y) → Cond_isdiv1(&&(>@z(x, y), >@z(y, 0@z)), x, y)
Cond_isdiv4(TRUE, x) → TRUE
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDP
z
filter(x, cons(y, zs)) → if_2(isdiv(x, y), x, y, zs)
nats(x, y) → Cond_nats1(=@z(x, y), x, y)
isdiv(x, 0@z) → Cond_isdiv4(>@z(x, 0@z), x)
if_2(FALSE, x, y, zs) → cons(x, filter(x, zs))
Cond_nats2(TRUE, x, y) → nil
Cond_isdiv1(TRUE, x, y) → FALSE
Cond_nats1(TRUE, x, y) → cons(x, nil)
nats(x, y) → Cond_nats2(>@z(x, y), x, y)
sieve(cons(x, ys)) → cons(x, sieve(filter(x, ys)))
filter(x, nil) → nil
sieve(nil) → nil
Cond_isdiv4(TRUE, x) → TRUE
filter(x, cons(y, zs)) → if_1(isdiv(x, y), x, y, zs)
if_1(TRUE, x, y, zs) → filter(x, zs)
nats(x, y) → Cond_nats(>@z(y, x), x, y)
isdiv(x, y) → Cond_isdiv1(&&(>@z(x, y), >@z(y, 0@z)), x, y)
Cond_nats(TRUE, x, y) → cons(x, nats(+@z(x, 1@z), y))
primes(x) → sieve(nats(2@z, x))
Cond_isdiv(TRUE, x, y) → isdiv(x, +@z(-@z(x), y))
isdiv(x, y) → Cond_isdiv2(>@z(0@z, y), x, y)
Cond_isdiv3(TRUE, x, y) → isdiv(-@z(x), y)
isdiv(x, y) → Cond_isdiv(&&(>=@z(y, x), >@z(x, 0@z)), x, y)
Cond_isdiv2(TRUE, x, y) → isdiv(x, -@z(y))
isdiv(x, y) → Cond_isdiv3(>@z(0@z, x), x, y)
(25) -> (25), if ((filter(x[25], ys[25]) →* cons(x[25]a, ys[25]a)))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDP
z
isdiv(x, y) → Cond_isdiv1(&&(>@z(x, y), >@z(y, 0@z)), x, y)
Cond_isdiv(TRUE, x, y) → isdiv(x, +@z(-@z(x), y))
isdiv(x, y) → Cond_isdiv2(>@z(0@z, y), x, y)
Cond_isdiv3(TRUE, x, y) → isdiv(-@z(x), y)
isdiv(x, y) → Cond_isdiv(&&(>=@z(y, x), >@z(x, 0@z)), x, y)
Cond_isdiv2(TRUE, x, y) → isdiv(x, -@z(y))
isdiv(x, y) → Cond_isdiv3(>@z(0@z, x), x, y)
filter(x, nil) → nil
Cond_isdiv4(TRUE, x) → TRUE
filter(x, cons(y, zs)) → if_1(isdiv(x, y), x, y, zs)
if_1(TRUE, x, y, zs) → filter(x, zs)
filter(x, cons(y, zs)) → if_2(isdiv(x, y), x, y, zs)
isdiv(x, 0@z) → Cond_isdiv4(>@z(x, 0@z), x)
if_2(FALSE, x, y, zs) → cons(x, filter(x, zs))
Cond_isdiv1(TRUE, x, y) → FALSE
(25) -> (25), if ((filter(x[25], ys[25]) →* cons(x[25]a, ys[25]a)))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
(1) (filter(x[25], ys[25])=cons(x[25]1, ys[25]1)∧filter(x[25]1, ys[25]1)=cons(x[25]2, ys[25]2) ⇒ SIEVE(cons(x[25]1, ys[25]1))≥SIEVE(filter(x[25]1, ys[25]1))∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥))
(2) (if_1(isdiv(x3, x2), x3, x2, x1)=cons(x[25]1, ys[25]1)∧filter(x[25]1, ys[25]1)=cons(x[25]2, ys[25]2) ⇒ SIEVE(cons(x[25]1, ys[25]1))≥SIEVE(filter(x[25]1, ys[25]1))∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥))
(3) (if_2(isdiv(x6, x5), x6, x5, x4)=cons(x[25]1, ys[25]1)∧filter(x[25]1, ys[25]1)=cons(x[25]2, ys[25]2) ⇒ SIEVE(cons(x[25]1, ys[25]1))≥SIEVE(filter(x[25]1, ys[25]1))∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥))
(4) (isdiv(x3, x2)=x7∧if_1(x7, x3, x2, x1)=cons(x[25]1, ys[25]1)∧filter(x[25]1, ys[25]1)=cons(x[25]2, ys[25]2) ⇒ SIEVE(cons(x[25]1, ys[25]1))≥SIEVE(filter(x[25]1, ys[25]1))∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥))
(5) (isdiv(x6, x5)=x17∧if_2(x17, x6, x5, x4)=cons(x[25]1, ys[25]1)∧filter(x[25]1, ys[25]1)=cons(x[25]2, ys[25]2) ⇒ SIEVE(cons(x[25]1, ys[25]1))≥SIEVE(filter(x[25]1, ys[25]1))∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥))
(6) (if_1(isdiv(x11, x10), x11, x10, x9)=cons(x[25]2, ys[25]2)∧isdiv(x3, x2)=x7∧if_1(x7, x3, x2, x1)=cons(x11, cons(x10, x9)) ⇒ SIEVE(cons(x11, cons(x10, x9)))≥SIEVE(filter(x11, cons(x10, x9)))∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥))
(7) (if_2(isdiv(x14, x13), x14, x13, x12)=cons(x[25]2, ys[25]2)∧isdiv(x3, x2)=x7∧if_1(x7, x3, x2, x1)=cons(x14, cons(x13, x12)) ⇒ SIEVE(cons(x14, cons(x13, x12)))≥SIEVE(filter(x14, cons(x13, x12)))∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥))
(8) (isdiv(x11, x10)=x15∧if_1(x15, x11, x10, x9)=cons(x[25]2, ys[25]2)∧isdiv(x3, x2)=x7∧if_1(x7, x3, x2, x1)=cons(x11, cons(x10, x9)) ⇒ SIEVE(cons(x11, cons(x10, x9)))≥SIEVE(filter(x11, cons(x10, x9)))∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥))
(9) (isdiv(x14, x13)=x16∧if_2(x16, x14, x13, x12)=cons(x[25]2, ys[25]2)∧isdiv(x3, x2)=x7∧if_1(x7, x3, x2, x1)=cons(x14, cons(x13, x12)) ⇒ SIEVE(cons(x14, cons(x13, x12)))≥SIEVE(filter(x14, cons(x13, x12)))∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥))
(10) ((UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 ≥ 0)
(11) ((UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 ≥ 0)
(12) (if_1(isdiv(x21, x20), x21, x20, x19)=cons(x[25]2, ys[25]2)∧isdiv(x6, x5)=x17∧if_2(x17, x6, x5, x4)=cons(x21, cons(x20, x19)) ⇒ SIEVE(cons(x21, cons(x20, x19)))≥SIEVE(filter(x21, cons(x20, x19)))∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥))
(13) (if_2(isdiv(x24, x23), x24, x23, x22)=cons(x[25]2, ys[25]2)∧isdiv(x6, x5)=x17∧if_2(x17, x6, x5, x4)=cons(x24, cons(x23, x22)) ⇒ SIEVE(cons(x24, cons(x23, x22)))≥SIEVE(filter(x24, cons(x23, x22)))∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥))
(14) (isdiv(x21, x20)=x25∧if_1(x25, x21, x20, x19)=cons(x[25]2, ys[25]2)∧isdiv(x6, x5)=x17∧if_2(x17, x6, x5, x4)=cons(x21, cons(x20, x19)) ⇒ SIEVE(cons(x21, cons(x20, x19)))≥SIEVE(filter(x21, cons(x20, x19)))∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥))
(15) (isdiv(x24, x23)=x26∧if_2(x26, x24, x23, x22)=cons(x[25]2, ys[25]2)∧isdiv(x6, x5)=x17∧if_2(x17, x6, x5, x4)=cons(x24, cons(x23, x22)) ⇒ SIEVE(cons(x24, cons(x23, x22)))≥SIEVE(filter(x24, cons(x23, x22)))∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥))
(16) ((UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 ≥ 0)
(17) ((UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 ≥ 0)
(18) ((UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 ≥ 0)
(19) ((UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 ≥ 0)
(20) ((UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 ≥ 0)
(21) ((UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 ≥ 0)
(22) ((UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 ≥ 0)
(23) ((UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 ≥ 0)
(24) ((UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 ≥ 0)
(25) ((UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 ≥ 0)
(26) ((UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 = 0∧0 ≥ 0∧0 = 0∧0 = 0)
(27) (0 = 0∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 ≥ 0∧0 = 0∧0 = 0)
(28) ((UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 ≥ 0∧0 = 0∧0 = 0∧0 = 0)
(29) (0 = 0∧0 = 0∧(UIncreasing(SIEVE(filter(x[25]1, ys[25]1))), ≥)∧0 = 0∧0 ≥ 0)
POL(SIEVE(x1)) = -1 + x1
POL(Cond_isdiv2(x1, x2, x3)) = 0
POL(0@z) = 0
POL(TRUE) = 0
POL(&&(x1, x2)) = 0
POL(Cond_isdiv4(x1, x2)) = 0
POL(Cond_isdiv1(x1, x2, x3)) = 0
POL(if_1(x1, x2, x3, x4)) = x4 + (2)x1
POL(FALSE) = 0
POL(Cond_isdiv3(x1, x2, x3)) = 0
POL(if_2(x1, x2, x3, x4)) = 1 + x4 + x1
POL(>@z(x1, x2)) = 0
POL(isdiv(x1, x2)) = 0
POL(cons(x1, x2)) = 1 + x2
POL(-@z(x1)) = 0
POL(>=@z(x1, x2)) = 0
POL(Cond_isdiv(x1, x2, x3)) = 0
POL(filter(x1, x2)) = x2
POL(+@z(x1, x2)) = 0
POL(nil) = 0
POL(undefined) = 0
SIEVE(cons(x[25], ys[25])) → SIEVE(filter(x[25], ys[25]))
SIEVE(cons(x[25], ys[25])) → SIEVE(filter(x[25], ys[25]))
filter(x, cons(y, zs))1 ↔ if_2(isdiv(x, y), x, y, zs)1
isdiv(x, 0@z)1 ↔ Cond_isdiv4(>@z(x, 0@z), x)1
Cond_isdiv2(TRUE, x, y)1 ↔ isdiv(x, -@z(y))1
filter(x, cons(y, zs))1 → if_1(isdiv(x, y), x, y, zs)1
&&(FALSE, TRUE)1 ↔ FALSE1
if_2(FALSE, x, y, zs)1 → cons(x, filter(x, zs))1
&&(TRUE, FALSE)1 ↔ FALSE1
if_1(TRUE, x, y, zs)1 → filter(x, zs)1
isdiv(x, y)1 ↔ Cond_isdiv2(>@z(0@z, y), x, y)1
Cond_isdiv(TRUE, x, y)1 ↔ isdiv(x, +@z(-@z(x), y))1
&&(FALSE, FALSE)1 ↔ FALSE1
isdiv(x, y)1 ↔ Cond_isdiv1(&&(>@z(x, y), >@z(y, 0@z)), x, y)1
Cond_isdiv1(TRUE, x, y)1 ↔ FALSE1
isdiv(x, y)1 ↔ Cond_isdiv(&&(>=@z(y, x), >@z(x, 0@z)), x, y)1
isdiv(x, y)1 ↔ Cond_isdiv3(>@z(0@z, x), x, y)1
filter(x, nil)1 → nil1
&&(TRUE, TRUE)1 ↔ TRUE1
+@z1 ↔
-@z1 ↔
Cond_isdiv3(TRUE, x, y)1 ↔ isdiv(-@z(x), y)1
Cond_isdiv4(TRUE, x)1 ↔ TRUE1
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDP
z
isdiv(x, y) → Cond_isdiv1(&&(>@z(x, y), >@z(y, 0@z)), x, y)
Cond_isdiv(TRUE, x, y) → isdiv(x, +@z(-@z(x), y))
isdiv(x, y) → Cond_isdiv2(>@z(0@z, y), x, y)
Cond_isdiv3(TRUE, x, y) → isdiv(-@z(x), y)
isdiv(x, y) → Cond_isdiv(&&(>=@z(y, x), >@z(x, 0@z)), x, y)
Cond_isdiv2(TRUE, x, y) → isdiv(x, -@z(y))
isdiv(x, y) → Cond_isdiv3(>@z(0@z, x), x, y)
filter(x, nil) → nil
Cond_isdiv4(TRUE, x) → TRUE
filter(x, cons(y, zs)) → if_1(isdiv(x, y), x, y, zs)
if_1(TRUE, x, y, zs) → filter(x, zs)
filter(x, cons(y, zs)) → if_2(isdiv(x, y), x, y, zs)
isdiv(x, 0@z) → Cond_isdiv4(>@z(x, 0@z), x)
if_2(FALSE, x, y, zs) → cons(x, filter(x, zs))
Cond_isdiv1(TRUE, x, y) → FALSE
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
z
filter(x, cons(y, zs)) → if_2(isdiv(x, y), x, y, zs)
nats(x, y) → Cond_nats1(=@z(x, y), x, y)
isdiv(x, 0@z) → Cond_isdiv4(>@z(x, 0@z), x)
if_2(FALSE, x, y, zs) → cons(x, filter(x, zs))
Cond_nats2(TRUE, x, y) → nil
Cond_isdiv1(TRUE, x, y) → FALSE
Cond_nats1(TRUE, x, y) → cons(x, nil)
nats(x, y) → Cond_nats2(>@z(x, y), x, y)
sieve(cons(x, ys)) → cons(x, sieve(filter(x, ys)))
filter(x, nil) → nil
sieve(nil) → nil
Cond_isdiv4(TRUE, x) → TRUE
filter(x, cons(y, zs)) → if_1(isdiv(x, y), x, y, zs)
if_1(TRUE, x, y, zs) → filter(x, zs)
nats(x, y) → Cond_nats(>@z(y, x), x, y)
isdiv(x, y) → Cond_isdiv1(&&(>@z(x, y), >@z(y, 0@z)), x, y)
Cond_nats(TRUE, x, y) → cons(x, nats(+@z(x, 1@z), y))
primes(x) → sieve(nats(2@z, x))
Cond_isdiv(TRUE, x, y) → isdiv(x, +@z(-@z(x), y))
isdiv(x, y) → Cond_isdiv2(>@z(0@z, y), x, y)
Cond_isdiv3(TRUE, x, y) → isdiv(-@z(x), y)
isdiv(x, y) → Cond_isdiv(&&(>=@z(y, x), >@z(x, 0@z)), x, y)
Cond_isdiv2(TRUE, x, y) → isdiv(x, -@z(y))
isdiv(x, y) → Cond_isdiv3(>@z(0@z, x), x, y)
(26) -> (1), if ((x[26] →* x[1])∧(y[26] →* y[1])∧(>@z(y[26], x[26]) →* TRUE))
(1) -> (26), if ((y[1] →* y[26])∧(+@z(x[1], 1@z) →* x[26]))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
z
(26) -> (1), if ((x[26] →* x[1])∧(y[26] →* y[1])∧(>@z(y[26], x[26]) →* TRUE))
(1) -> (26), if ((y[1] →* y[26])∧(+@z(x[1], 1@z) →* x[26]))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
(1) (>@z(y[26], x[26])=TRUE∧+@z(x[1], 1@z)=x[26]1∧y[26]=y[1]∧y[1]=y[26]1∧x[26]=x[1] ⇒ COND_NATS(TRUE, x[1], y[1])≥NonInfC∧COND_NATS(TRUE, x[1], y[1])≥NATS(+@z(x[1], 1@z), y[1])∧(UIncreasing(NATS(+@z(x[1], 1@z), y[1])), ≥))
(2) (>@z(y[26], x[26])=TRUE ⇒ COND_NATS(TRUE, x[26], y[26])≥NonInfC∧COND_NATS(TRUE, x[26], y[26])≥NATS(+@z(x[26], 1@z), y[26])∧(UIncreasing(NATS(+@z(x[1], 1@z), y[1])), ≥))
(3) (-1 + y[26] + (-1)x[26] ≥ 0 ⇒ (UIncreasing(NATS(+@z(x[1], 1@z), y[1])), ≥)∧-1 + (-1)Bound + y[26] + (-1)x[26] ≥ 0∧0 ≥ 0)
(4) (-1 + y[26] + (-1)x[26] ≥ 0 ⇒ (UIncreasing(NATS(+@z(x[1], 1@z), y[1])), ≥)∧-1 + (-1)Bound + y[26] + (-1)x[26] ≥ 0∧0 ≥ 0)
(5) (-1 + y[26] + (-1)x[26] ≥ 0 ⇒ (UIncreasing(NATS(+@z(x[1], 1@z), y[1])), ≥)∧0 ≥ 0∧-1 + (-1)Bound + y[26] + (-1)x[26] ≥ 0)
(6) (x[26] ≥ 0 ⇒ (UIncreasing(NATS(+@z(x[1], 1@z), y[1])), ≥)∧0 ≥ 0∧(-1)Bound + x[26] ≥ 0)
(7) (x[26] ≥ 0∧y[26] ≥ 0 ⇒ (UIncreasing(NATS(+@z(x[1], 1@z), y[1])), ≥)∧0 ≥ 0∧(-1)Bound + x[26] ≥ 0)
(8) (x[26] ≥ 0∧y[26] ≥ 0 ⇒ (UIncreasing(NATS(+@z(x[1], 1@z), y[1])), ≥)∧0 ≥ 0∧(-1)Bound + x[26] ≥ 0)
(9) (NATS(x[26], y[26])≥NonInfC∧NATS(x[26], y[26])≥COND_NATS(>@z(y[26], x[26]), x[26], y[26])∧(UIncreasing(COND_NATS(>@z(y[26], x[26]), x[26], y[26])), ≥))
(10) ((UIncreasing(COND_NATS(>@z(y[26], x[26]), x[26], y[26])), ≥)∧0 ≥ 0∧0 ≥ 0)
(11) ((UIncreasing(COND_NATS(>@z(y[26], x[26]), x[26], y[26])), ≥)∧0 ≥ 0∧0 ≥ 0)
(12) (0 ≥ 0∧(UIncreasing(COND_NATS(>@z(y[26], x[26]), x[26], y[26])), ≥)∧0 ≥ 0)
(13) (0 ≥ 0∧0 = 0∧0 = 0∧(UIncreasing(COND_NATS(>@z(y[26], x[26]), x[26], y[26])), ≥)∧0 = 0∧0 = 0∧0 ≥ 0)
POL(TRUE) = -1
POL(COND_NATS(x1, x2, x3)) = -1 + x3 + (-1)x2
POL(+@z(x1, x2)) = x1 + x2
POL(NATS(x1, x2)) = -1 + x2 + (-1)x1
POL(FALSE) = -1
POL(1@z) = 1
POL(undefined) = -1
POL(>@z(x1, x2)) = -1
COND_NATS(TRUE, x[1], y[1]) → NATS(+@z(x[1], 1@z), y[1])
COND_NATS(TRUE, x[1], y[1]) → NATS(+@z(x[1], 1@z), y[1])
NATS(x[26], y[26]) → COND_NATS(>@z(y[26], x[26]), x[26], y[26])
+@z1 ↔
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
↳ IDP
z
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ UsableRulesProof
z
filter(x, cons(y, zs)) → if_2(isdiv(x, y), x, y, zs)
nats(x, y) → Cond_nats1(=@z(x, y), x, y)
isdiv(x, 0@z) → Cond_isdiv4(>@z(x, 0@z), x)
if_2(FALSE, x, y, zs) → cons(x, filter(x, zs))
Cond_nats2(TRUE, x, y) → nil
Cond_isdiv1(TRUE, x, y) → FALSE
Cond_nats1(TRUE, x, y) → cons(x, nil)
nats(x, y) → Cond_nats2(>@z(x, y), x, y)
sieve(cons(x, ys)) → cons(x, sieve(filter(x, ys)))
filter(x, nil) → nil
sieve(nil) → nil
Cond_isdiv4(TRUE, x) → TRUE
filter(x, cons(y, zs)) → if_1(isdiv(x, y), x, y, zs)
if_1(TRUE, x, y, zs) → filter(x, zs)
nats(x, y) → Cond_nats(>@z(y, x), x, y)
isdiv(x, y) → Cond_isdiv1(&&(>@z(x, y), >@z(y, 0@z)), x, y)
Cond_nats(TRUE, x, y) → cons(x, nats(+@z(x, 1@z), y))
primes(x) → sieve(nats(2@z, x))
Cond_isdiv(TRUE, x, y) → isdiv(x, +@z(-@z(x), y))
isdiv(x, y) → Cond_isdiv2(>@z(0@z, y), x, y)
Cond_isdiv3(TRUE, x, y) → isdiv(-@z(x), y)
isdiv(x, y) → Cond_isdiv(&&(>=@z(y, x), >@z(x, 0@z)), x, y)
Cond_isdiv2(TRUE, x, y) → isdiv(x, -@z(y))
isdiv(x, y) → Cond_isdiv3(>@z(0@z, x), x, y)
(10) -> (21), if ((zs[10] →* zs[21])∧(x[10] →* x[21])∧(y[10] →* y[21])∧(>@z(y[10], x[10]) →* TRUE))
(21) -> (12), if ((zs[21] →* cons(y[12], zs[12]))∧(x[21] →* x[12]))
(7) -> (10), if ((zs[7] →* cons(y[10], zs[10]))∧(x[7] →* x[10]))
(7) -> (12), if ((zs[7] →* cons(y[12], zs[12]))∧(x[7] →* x[12]))
(21) -> (10), if ((zs[21] →* cons(y[10], zs[10]))∧(x[21] →* x[10]))
(12) -> (7), if ((zs[12] →* zs[7])∧(x[12] →* x[7])∧(y[12] →* y[7])∧(>@z(x[12], y[12]) →* TRUE))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
z
(10) -> (21), if ((zs[10] →* zs[21])∧(x[10] →* x[21])∧(y[10] →* y[21])∧(>@z(y[10], x[10]) →* TRUE))
(21) -> (12), if ((zs[21] →* cons(y[12], zs[12]))∧(x[21] →* x[12]))
(7) -> (10), if ((zs[7] →* cons(y[10], zs[10]))∧(x[7] →* x[10]))
(7) -> (12), if ((zs[7] →* cons(y[12], zs[12]))∧(x[7] →* x[12]))
(21) -> (10), if ((zs[21] →* cons(y[10], zs[10]))∧(x[21] →* x[10]))
(12) -> (7), if ((zs[12] →* zs[7])∧(x[12] →* x[7])∧(y[12] →* y[7])∧(>@z(x[12], y[12]) →* TRUE))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
(1) (y[10]=y[21]∧x[10]=x[21]∧x[21]=x[12]∧>@z(y[10], x[10])=TRUE∧zs[10]=zs[21]∧zs[21]=cons(y[12], zs[12]) ⇒ COND_MEM1(TRUE, x[21], y[21], zs[21])≥MEM(x[21], zs[21])∧(UIncreasing(MEM(x[21], zs[21])), ≥))
(2) (>@z(y[10], x[10])=TRUE ⇒ COND_MEM1(TRUE, x[10], y[10], cons(y[12], zs[12]))≥MEM(x[10], cons(y[12], zs[12]))∧(UIncreasing(MEM(x[21], zs[21])), ≥))
(3) (0 ≥ 0 ⇒ (UIncreasing(MEM(x[21], zs[21])), ≥)∧1 ≥ 0)
(4) (0 ≥ 0 ⇒ (UIncreasing(MEM(x[21], zs[21])), ≥)∧1 ≥ 0)
(5) (0 ≥ 0 ⇒ (UIncreasing(MEM(x[21], zs[21])), ≥)∧1 ≥ 0)
(6) (0 ≥ 0 ⇒ 1 ≥ 0∧0 = 0∧0 = 0∧(UIncreasing(MEM(x[21], zs[21])), ≥)∧0 = 0∧0 = 0)
(7) (y[10]=y[21]∧x[10]=x[21]∧x[21]=x[10]1∧>@z(y[10], x[10])=TRUE∧zs[10]=zs[21]∧zs[21]=cons(y[10]1, zs[10]1) ⇒ COND_MEM1(TRUE, x[21], y[21], zs[21])≥MEM(x[21], zs[21])∧(UIncreasing(MEM(x[21], zs[21])), ≥))
(8) (>@z(y[10], x[10])=TRUE ⇒ COND_MEM1(TRUE, x[10], y[10], cons(y[10]1, zs[10]1))≥MEM(x[10], cons(y[10]1, zs[10]1))∧(UIncreasing(MEM(x[21], zs[21])), ≥))
(9) (0 ≥ 0 ⇒ (UIncreasing(MEM(x[21], zs[21])), ≥)∧1 ≥ 0)
(10) (0 ≥ 0 ⇒ (UIncreasing(MEM(x[21], zs[21])), ≥)∧1 ≥ 0)
(11) (0 ≥ 0 ⇒ (UIncreasing(MEM(x[21], zs[21])), ≥)∧1 ≥ 0)
(12) (0 ≥ 0 ⇒ 1 ≥ 0∧(UIncreasing(MEM(x[21], zs[21])), ≥)∧0 = 0∧0 = 0∧0 = 0∧0 = 0)
(13) (y[10]=y[21]1∧zs[21]=cons(y[10], zs[10])∧x[10]=x[21]1∧>@z(y[10], x[10])=TRUE∧x[21]=x[10]∧zs[10]=zs[21]1 ⇒ MEM(x[10], cons(y[10], zs[10]))≥COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])∧(UIncreasing(COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])), ≥))
(14) (>@z(y[10], x[10])=TRUE ⇒ MEM(x[10], cons(y[10], zs[10]))≥COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])∧(UIncreasing(COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])), ≥))
(15) (0 ≥ 0 ⇒ (UIncreasing(COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])), ≥)∧2 ≥ 0)
(16) (0 ≥ 0 ⇒ (UIncreasing(COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])), ≥)∧2 ≥ 0)
(17) (0 ≥ 0 ⇒ 2 ≥ 0∧(UIncreasing(COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])), ≥))
(18) (0 ≥ 0 ⇒ (UIncreasing(COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])), ≥)∧2 ≥ 0∧0 = 0∧0 = 0∧0 = 0)
(19) (y[10]=y[21]∧x[10]=x[21]∧zs[7]=cons(y[10], zs[10])∧>@z(y[10], x[10])=TRUE∧zs[10]=zs[21]∧x[7]=x[10] ⇒ MEM(x[10], cons(y[10], zs[10]))≥COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])∧(UIncreasing(COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])), ≥))
(20) (>@z(y[10], x[10])=TRUE ⇒ MEM(x[10], cons(y[10], zs[10]))≥COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])∧(UIncreasing(COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])), ≥))
(21) (0 ≥ 0 ⇒ (UIncreasing(COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])), ≥)∧2 ≥ 0)
(22) (0 ≥ 0 ⇒ (UIncreasing(COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])), ≥)∧2 ≥ 0)
(23) (0 ≥ 0 ⇒ 2 ≥ 0∧(UIncreasing(COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])), ≥))
(24) (0 ≥ 0 ⇒ 0 = 0∧0 = 0∧(UIncreasing(COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])), ≥)∧2 ≥ 0∧0 = 0)
(25) (zs[12]=zs[7]∧x[21]=x[12]∧x[12]=x[7]∧>@z(x[12], y[12])=TRUE∧zs[21]=cons(y[12], zs[12])∧y[12]=y[7] ⇒ MEM(x[12], cons(y[12], zs[12]))≥COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])∧(UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥))
(26) (>@z(x[12], y[12])=TRUE ⇒ MEM(x[12], cons(y[12], zs[12]))≥COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])∧(UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥))
(27) (0 ≥ 0 ⇒ (UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥)∧4 ≥ 0)
(28) (0 ≥ 0 ⇒ (UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥)∧4 ≥ 0)
(29) (0 ≥ 0 ⇒ (UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥)∧4 ≥ 0)
(30) (0 ≥ 0 ⇒ 0 = 0∧0 = 0∧(UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥)∧4 ≥ 0∧0 = 0)
(31) (zs[12]=zs[7]1∧zs[7]=cons(y[12], zs[12])∧x[7]=x[12]∧x[12]=x[7]1∧y[12]=y[7]1∧>@z(x[12], y[12])=TRUE ⇒ MEM(x[12], cons(y[12], zs[12]))≥COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])∧(UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥))
(32) (>@z(x[12], y[12])=TRUE ⇒ MEM(x[12], cons(y[12], zs[12]))≥COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])∧(UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥))
(33) (0 ≥ 0 ⇒ (UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥)∧4 ≥ 0)
(34) (0 ≥ 0 ⇒ (UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥)∧4 ≥ 0)
(35) (0 ≥ 0 ⇒ (UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥)∧4 ≥ 0)
(36) (0 ≥ 0 ⇒ 0 = 0∧(UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥)∧0 = 0∧4 ≥ 0∧0 = 0)
(37) (zs[7]=cons(y[12]1, zs[12]1)∧zs[12]=zs[7]∧x[7]=x[12]1∧x[12]=x[7]∧>@z(x[12], y[12])=TRUE∧y[12]=y[7] ⇒ COND_MEM2(TRUE, x[7], y[7], zs[7])≥MEM(x[7], zs[7])∧(UIncreasing(MEM(x[7], zs[7])), ≥))
(38) (>@z(x[12], y[12])=TRUE ⇒ COND_MEM2(TRUE, x[12], y[12], cons(y[12]1, zs[12]1))≥MEM(x[12], cons(y[12]1, zs[12]1))∧(UIncreasing(MEM(x[7], zs[7])), ≥))
(39) (0 ≥ 0 ⇒ (UIncreasing(MEM(x[7], zs[7])), ≥)∧0 ≥ 0)
(40) (0 ≥ 0 ⇒ (UIncreasing(MEM(x[7], zs[7])), ≥)∧0 ≥ 0)
(41) (0 ≥ 0 ⇒ (UIncreasing(MEM(x[7], zs[7])), ≥)∧0 ≥ 0)
(42) (0 ≥ 0 ⇒ 0 = 0∧0 = 0∧0 = 0∧(UIncreasing(MEM(x[7], zs[7])), ≥)∧0 = 0∧0 ≥ 0)
(43) (zs[12]=zs[7]∧zs[7]=cons(y[10], zs[10])∧x[12]=x[7]∧x[7]=x[10]∧>@z(x[12], y[12])=TRUE∧y[12]=y[7] ⇒ COND_MEM2(TRUE, x[7], y[7], zs[7])≥MEM(x[7], zs[7])∧(UIncreasing(MEM(x[7], zs[7])), ≥))
(44) (>@z(x[12], y[12])=TRUE ⇒ COND_MEM2(TRUE, x[12], y[12], cons(y[10], zs[10]))≥MEM(x[12], cons(y[10], zs[10]))∧(UIncreasing(MEM(x[7], zs[7])), ≥))
(45) (0 ≥ 0 ⇒ (UIncreasing(MEM(x[7], zs[7])), ≥)∧0 ≥ 0)
(46) (0 ≥ 0 ⇒ (UIncreasing(MEM(x[7], zs[7])), ≥)∧0 ≥ 0)
(47) (0 ≥ 0 ⇒ 0 ≥ 0∧(UIncreasing(MEM(x[7], zs[7])), ≥))
(48) (0 ≥ 0 ⇒ 0 = 0∧0 ≥ 0∧0 = 0∧0 = 0∧(UIncreasing(MEM(x[7], zs[7])), ≥)∧0 = 0)
POL(cons(x1, x2)) = 2 + x2
POL(COND_MEM2(x1, x2, x3, x4)) = -1 + (2)x4 + (-1)x2
POL(MEM(x1, x2)) = -1 + (2)x2 + (-1)x1
POL(TRUE) = 0
POL(FALSE) = 0
POL(undefined) = 0
POL(>@z(x1, x2)) = 0
POL(COND_MEM1(x1, x2, x3, x4)) = 1 + (2)x4 + (-1)x2
COND_MEM1(TRUE, x[21], y[21], zs[21]) → MEM(x[21], zs[21])
COND_MEM1(TRUE, x[21], y[21], zs[21]) → MEM(x[21], zs[21])
MEM(x[10], cons(y[10], zs[10])) → COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])
MEM(x[12], cons(y[12], zs[12])) → COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])
COND_MEM2(TRUE, x[7], y[7], zs[7]) → MEM(x[7], zs[7])
MEM(x[10], cons(y[10], zs[10])) → COND_MEM1(>@z(y[10], x[10]), x[10], y[10], zs[10])
MEM(x[12], cons(y[12], zs[12])) → COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])
COND_MEM2(TRUE, x[7], y[7], zs[7]) → MEM(x[7], zs[7])
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
z
(7) -> (10), if ((zs[7] →* cons(y[10], zs[10]))∧(x[7] →* x[10]))
(7) -> (12), if ((zs[7] →* cons(y[12], zs[12]))∧(x[7] →* x[12]))
(12) -> (7), if ((zs[12] →* zs[7])∧(x[12] →* x[7])∧(y[12] →* y[7])∧(>@z(x[12], y[12]) →* TRUE))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
z
(7) -> (12), if ((zs[7] →* cons(y[12], zs[12]))∧(x[7] →* x[12]))
(12) -> (7), if ((zs[12] →* zs[7])∧(x[12] →* x[7])∧(y[12] →* y[7])∧(>@z(x[12], y[12]) →* TRUE))
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
(1) (zs[7]=cons(y[12]1, zs[12]1)∧zs[12]=zs[7]∧x[7]=x[12]1∧x[12]=x[7]∧>@z(x[12], y[12])=TRUE∧y[12]=y[7] ⇒ COND_MEM2(TRUE, x[7], y[7], zs[7])≥MEM(x[7], zs[7])∧(UIncreasing(MEM(x[7], zs[7])), ≥))
(2) (>@z(x[12], y[12])=TRUE ⇒ COND_MEM2(TRUE, x[12], y[12], cons(y[12]1, zs[12]1))≥MEM(x[12], cons(y[12]1, zs[12]1))∧(UIncreasing(MEM(x[7], zs[7])), ≥))
(3) (0 ≥ 0 ⇒ (UIncreasing(MEM(x[7], zs[7])), ≥)∧0 ≥ 0)
(4) (0 ≥ 0 ⇒ (UIncreasing(MEM(x[7], zs[7])), ≥)∧0 ≥ 0)
(5) (0 ≥ 0 ⇒ (UIncreasing(MEM(x[7], zs[7])), ≥)∧0 ≥ 0)
(6) (0 ≥ 0 ⇒ 0 = 0∧0 ≥ 0∧0 = 0∧0 = 0∧0 = 0∧(UIncreasing(MEM(x[7], zs[7])), ≥))
(7) (zs[12]=zs[7]1∧zs[7]=cons(y[12], zs[12])∧x[7]=x[12]∧x[12]=x[7]1∧y[12]=y[7]1∧>@z(x[12], y[12])=TRUE ⇒ MEM(x[12], cons(y[12], zs[12]))≥COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])∧(UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥))
(8) (>@z(x[12], y[12])=TRUE ⇒ MEM(x[12], cons(y[12], zs[12]))≥COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])∧(UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥))
(9) (0 ≥ 0 ⇒ (UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥)∧1 ≥ 0)
(10) (0 ≥ 0 ⇒ (UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥)∧1 ≥ 0)
(11) (0 ≥ 0 ⇒ (UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥)∧1 ≥ 0)
(12) (0 ≥ 0 ⇒ 0 = 0∧(UIncreasing(COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])), ≥)∧0 = 0∧1 ≥ 0∧0 = 0)
POL(cons(x1, x2)) = 2 + x2
POL(COND_MEM2(x1, x2, x3, x4)) = -1 + x4 + (-1)x2
POL(MEM(x1, x2)) = -1 + x2 + (-1)x1
POL(TRUE) = 0
POL(FALSE) = 0
POL(undefined) = 0
POL(>@z(x1, x2)) = 0
MEM(x[12], cons(y[12], zs[12])) → COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])
COND_MEM2(TRUE, x[7], y[7], zs[7]) → MEM(x[7], zs[7])
MEM(x[12], cons(y[12], zs[12])) → COND_MEM2(>@z(x[12], y[12]), x[12], y[12], zs[12])
COND_MEM2(TRUE, x[7], y[7], zs[7]) → MEM(x[7], zs[7])
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDependencyGraphProof
↳ IDP
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDependencyGraphProof
↳ AND
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
↳ IDP
↳ IDPNonInfProof
↳ AND
↳ IDP
↳ IDP
↳ IDependencyGraphProof
filter(x0, cons(x1, x2))
Cond_mem(TRUE, x0, x1, x2)
nats(x0, x1)
mem(x0, cons(x1, x2))
if_2(FALSE, x0, x1, x2)
if_1(TRUE, x0, x1, x2)
isdiv(x0, x1)
Cond_nats2(TRUE, x0, x1)
Cond_isdiv1(TRUE, x0, x1)
Cond_nats1(TRUE, x0, x1)
mem(x0, nil)
filter(x0, nil)
sieve(cons(x0, x1))
Cond_isdiv4(TRUE, x0)
sieve(nil)
isprime(x0)
Cond_isdiv2(TRUE, x0, x1)
Cond_mem1(TRUE, x0, x1, x2)
Cond_isdiv(TRUE, x0, x1)
Cond_mem2(TRUE, x0, x1, x2)
Cond_nats(TRUE, x0, x1)
primes(x0)
Cond_isdiv3(TRUE, x0, x1)